Hilfe bei einfachem Program bin anfänger
-
ALSO ICH HAB DAS PROGRAMM GESCHRIEBEN ABER WEISS NICHT WAS ICH FALSCH GEMACHT HAB BITTE UM HILFE=) DANKE AN ALLE DIE ANTWORTEN
#include <iostream> #include <Windows.h> int main() { char title[256]; HWND hwndProcess; DWORD processId; HANDLE hProcess; unsigned int address = 0; int value = 0; std::cout << "Memory Hack(by Bl4ckspel)\n\n" << "Fenstertitel:\n"; std::cin.getline(title, 256); hwndProcess = FindWindowA(0, title); if(!hwndProcess) { std::cout << "\n\nFehler\n\n"; } else { GetWindowThreadProcessId(hwndProcess, &processId); hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, processId); std::cout << "\n\nAddresse: "; std::cin >> std::hex >> address >> std::dec; std::cout << std::endl << "Wert: "; std::cin >> value; WriteProcessMemory(hProcess, (LPVOID)address, &value, sizeof(int), 0); CloseHandle(hProcess); } std::cin.get(); return 0; }
also ich benutz microsoft visual 2010 express
und es steht immer das alss fehler meldung:1>------ Erstellen gestartet: Projekt: Bl4ckspel MemoryHack, Konfiguration: Debug Win32 ------
1>Bl4ckspel MemoryHack.obj : error LNK2028: Nicht aufgelöstes Token (0A0003C7) ""extern "C" struct HWND__ * __stdcall FindWindowA(char const *,char const *)" (?FindWindowA@@$$J18YGPAUHWND__@@PBD0@Z)", auf das in Funktion ""int cdecl main(void)" (?main@@$$HYAHXZ)" verwiesen wird.
1>Bl4ckspel MemoryHack.obj : error LNK2028: Nicht aufgelöstes Token (0A000483) ""extern "C" unsigned long __stdcall GetWindowThreadProcessId(struct HWND__ *,unsigned long *)" (?GetWindowThreadProcessId@@$$J18YGKPAUHWND@@PAK@Z)", auf das in Funktion ""int cdecl main(void)" (?main@@$$HYAHXZ)" verwiesen wird.
1>Bl4ckspel MemoryHack.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""extern "C" unsigned long __stdcall GetWindowThreadProcessId(struct HWND__ *,unsigned long *)" (?GetWindowThreadProcessId@@$$J18YGKPAUHWND@@PAK@Z)" in Funktion ""int cdecl main(void)" (?main@@$$HYAHXZ)".
1>Bl4ckspel MemoryHack.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""extern "C" struct HWND * __stdcall FindWindowA(char const *,char const *)" (?FindWindowA@@$$J18YGPAUHWND__@@PBD0@Z)" in Funktion ""int __cdecl main(void)" (?main@@$$HYAHXZ)".
1>C:\Users\Rony\Documents\Visual Studio 2010\Projects\Bl4ckspel MemoryHack\Debug\Bl4ckspel MemoryHack.exe : fatal error LNK1120: 4 nicht aufgelöste externe Verweise.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen
-
Dieser Thread wurde von Moderator/in akari aus dem Forum VCL (C++ Builder) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Da dein Programm ein Konsolenprogramm ist,
schätze ich jetzt einfach mal, dass du in den Projekteinstellungen zusätzlich gegen user32.lib linken musst.Alternativ geht das auch im Quellcode (nur bei Visual C++)
#pragma comment (lib, "user32.lib")
-
Bl4ckspel schrieb:
"Memory Hack(by Bl4ckspel)\n\n" << "Fenstertitel:\n";
du kleines Licht.
-
#include <Windows.h>
Wird das jetzt neuerdings gross geschrieben.
-
Scheinbar. VS2010 will es immer groß machen...
-
Euch is klar, dass WIndows sich nicht im geringsten um Groß- und Kleinschreibung schert?
Wenn Ihr #include <windows.h> schreibt, wird das immer noch gefunden,
auch wenn im Dateisystem von mir aus jetzt eine Windows.h liegt.
Btw. ist es durchaus möglich, dass die schon immer groß geschrieben wurde.
Nur verspürten bisherige Versionen von Visual C++ nicht das Bedürfnis
Dateinamen in include's automatisch zu vervollständigen.Im übrigen hat keine Euerer Antworten mit dem eigentlichen Thema zu tun.
Die vom OT geposteten Linkerfehler deuten alle darauf hin, dass nicht gegen die user32.lib gelinkt wurde.
Damit ist der Fall geklärt.
-
Du Schlauberger ... habe ich gesehen, dass das geklaert ist. Deswegen habe ich ja eine weiterfuehrende Frage gestellt. Darueber hinaus weiss ich nicht, ob
#include
eben direkt zur Sprache gehoert oder nicht. Denn C++ ist case-sensitiv. Aber ja, du hast es toll gemacht: user32.lib.