|
You last visited: Today at 07:13
Advertisement
c++ WinApi integer ausgeben
Discussion on c++ WinApi integer ausgeben within the C/C++ forum part of the Coders Den category.
10/26/2011, 01:13
|
#1
|
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
|
c++ WinApi integer ausgeben
Hay, also ich bin nun neu in der WinApi mit c++ und versuche mich grad an einem einfachen Rechner(ohne WinApi natürlich kein Problem).
Wie im Titel steht schaffe ich es nicht per "TextOut" oder per "MessageBox"
einen integer ausgeben zu lassen.
Ich hab schon gegooglet etc. bloß bin ich daraus nicht sehr viel schlauer geworden.
Bis jetzt hab ich halt das(Ausschnitt):
PHP Code:
...
int zahl1;
SendMessage(hwndZahl1, WM_GETTEXT, 256, (LPARAM)zahl1);
Nur fehlt mir noch die Ausgabe von "zahl1".
Hoffe ihr könnt mir helfen, hab damit ja erst angefangen  .
|
|
|
10/26/2011, 01:49
|
#2
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Erstmal solltest du mit itoa bzw. itow (weiß gerade nicht, ob itow so existiert, aber so müsste die Unicode Version von itoa logischerweise heißen) zahl1 in ein char Array umwandeln, dann kannst du es SendMessage übergeben.
Allerdings dann natürlich WM_SETTEXT.
Mit sprinft würde es auch gehen.
Das gleiche natürlich bei MessageBox und Textout. Du kannst nicht einfach eine Zahl übergeben, wenn ein Char* gefragt ist. Wundert mich, dass dir das Programm nicht um die Ohren geflogen ist.
|
|
|
10/26/2011, 02:01
|
#3
|
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
|
Könntest du mir das bitte etwas mehr erklären, da ich nur die hälfte verstanden hab.
Zuerst hatte ich ja auch statt "int" "wchar_t" jedoch wusste ich nicht weiter und hab es einfach zu einem integer gemacht.(Der compiler liefert mir aber keine Fehler^^)
Wie gesagt die WinApi ist für mich noch neu^^.
(Die einzelne Ausgabe funktioniert jetzt)
Bzw. (bin grad müde) liegt das Problem am Ausgeben einer Lösung, da ich eine variable brauche die zahl1 und zahl2 addiert und die dann ausgibt.
Da ich meines Wissens nach keine 2 Variablen vom typ wchar_t addieren kann...
|
|
|
10/26/2011, 03:13
|
#4
|
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 454
|
Wenn du deine Controls nicht über einen Dialog Editor, in dem du die Control Identifier einstellen kannst, sondern über CreateWindowEx erstellst, musst du die ID-Konstanten erst definieren und dann entsprechend als 10. Parameter an CreateWindowEx übergeben.
Dann könntest du so Zahlenwerte anzeigen lassen:
Code:
int zahl1, zahl2, ergebnis;
zahl1 = GetDlgItemInt(hWnd, IDC_ZAHL1, NULL, TRUE);
zahl2 = GetDlgItemInt(hWnd, IDC_ZAHL2, NULL, TRUE);
ergebnis = zahl1 + zahl2;
SetDlgItemInt(hWnd, IDC_RESULT, ergebnis, TRUE);
Möglich wäre auch:
Code:
char buffer[32];
int zahl1, zahl2, ergebnis;
GetWindowText(hWndChild1, buffer, 32);
zahl1 = atoi(buffer);
GetWindowText(hWndChild2, buffer, 32);
zahl2 = atoi(buffer);
ergebnis = zahl1 + zahl2;
itoa(ergebnis, buffer, 10);
// oder:
sprintf(buffer, "%d", ergebnis)
SetWindowText(hWndChild3, buffer);
Einfach mal die MSDN und/oder eine C++-Referenz wegen der Parameter zu Rate ziehen.
|
|
|
10/26/2011, 15:00
|
#5
|
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
|
Ah danke, funktioniert nun.
Hab mich gerade noch gewundert warum buffer in GetWindowText als falsch makiert wird,
da fällt mir ein dass es ja n char ist  -> A .
|
|
|
11/20/2011, 21:21
|
#6
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
@link ich hab da ne kleinigkeit einzuwenden
soweit ich weiss sind itoa usw. keine winapi funktionen.. da wäre schon eher lsprintfA besser... (irgendwie so müsste die funktion heissen! (kernel32.dll))
|
|
|
11/20/2011, 21:59
|
#7
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Quote:
c++ WinApi integer ausgeben
[..]
Erstmal solltest du mit itoa bzw. itow
[..]
lsprintfA
|
hmmm...
>
Jeweils die Methoden 1+2.
|
|
|
11/25/2011, 23:28
|
#8
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Quote:
Originally Posted by HeavyHacker
@link ich hab da ne kleinigkeit einzuwenden
soweit ich weiss sind itoa usw. keine winapi funktionen.. da wäre schon eher lsprintfA besser... (irgendwie so müsste die funktion heissen! (kernel32.dll))
|
Sind nur WinApi Funktionen erlaubt?
|
|
|
11/26/2011, 01:22
|
#9
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
Quote:
Originally Posted by MrSm!th
Sind nur WinApi Funktionen erlaubt?
|
so wie ich den TE mit "c++ WinApi integer ausgeben" verstanden habe: ja!
|
|
|
 |
Similar Threads
|
[Help] Winapi/C++
07/08/2011 - C/C++ - 2 Replies
Hallo leute also ich habe mir in letzter zeit oder schon etwas länger c++ Beigebracht. Ich weis nicht ob meine kenntnisse schon ausreichen aber naja ich hab mich mal an Winapi versucht und jetzt mein problem ... kann mir jemand vll erklären was n Handle ist und wenn nicht das gibt es dan vieleicht irgendwelche aufgaben womit ich mir meine c++ kenntnisse verbessern/festigen kann also ich hoffe ihr könnt mir helfen da ich echt ziehmlich interressiert in der Programmierung(Coding) bin. Ich würd...
|
WinApi Problem
02/17/2011 - General Coding - 12 Replies
Hi,
hab keine Ahnung wieso das hier nicht geht. Es lässt sich kompilieren aber es macht nichts, also es erscheint kein Fenster.
#define STRICT
#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
const char szAppName = "Textausgabe im Anwendungsbereich";
|
WinAPI use in C#
06/09/2008 - .NET Languages - 15 Replies
Hi,
in Anlehnung an die Topics hier habe ich mich dazu aufgerafft, nen Annotrainer zu schreiben (siehe Attachment).
In der Listview werden halt aktive Annoprozesse angezeigt, die man dann anwählen kann um dann mit dem Cheat button Geld zu cheaten. Jedes item in der Listview hat im item.Tag das jeweilige Prozessobject, somit auch die ID.
Allerdings komme ich mit den eigentlichen Funktionen OpenProcess, ReadProcessMemory und WirteProcessMemory in C# noch nicht klar. Zwar bekomme ich das...
|
WinAPI use in C#
05/19/2008 - .NET Languages - 0 Replies
Hi,
in Anlehnung an die Topics hier habe ich mich dazu aufgerafft, nen Annotrainer zu schreiben (siehe Attachment).
In der Listview werden halt aktive Annoprozesse angezeigt, die man dann anwählen kann um dann mit dem Cheat button Geld zu cheaten. Jedes item in der Listview hat im item.Tag das jeweilige Prozessobject, somit auch die ID.
Allerdings komme ich mit den eigentlichen Funktionen OpenProcess, ReadProcessMemory und WirteProcessMemory in C# noch nicht klar. Zwar bekomme ich das...
|
'$' vor einen integer wert adden
12/07/2005 - General Coding - 3 Replies
folgendes:
ich habe einen wert welchen ich per RPM ausgelesen habe
diesen habe ich per inttohex konvertiert
nach dem konvertieren bekomme ich mein gewünschtes offset auf das ich wieder per rpm/wpm zugreifen will
da man, soweit ich weiss, bei rpm/wpm ein $ vor das offset schreiben muss brauche ich nun eine methode wie ich dieses zeichen vor das offset bekomme
habe gestern schon mit dem befehl insert und copy gearbeitet, leider ohne erfolg.
|
All times are GMT +1. The time now is 07:13.
|
|