|
You last visited: Today at 18:50
Advertisement
OpenProcess gibt konsequent error 87 zurück
Discussion on OpenProcess gibt konsequent error 87 zurück within the General Coding forum part of the Coders Den category.
10/04/2007, 22:17
|
#1
|
elite*gold: 0
Join Date: Oct 2005
Posts: 2,487
Received Thanks: 215
|
OpenProcess gibt konsequent error 87 zurück
Hallo,
Ich arbeite im Moment an einem ProcessHandle. Allerdings bin ich ratlos, da eigentlich alles richtig ist, speziell die Parameter.
Denn Error 87 besagt, dass die Parameter incorrect sind. Hier der C++ Code:
Code:
HWND hWnd;
DWORD thread;
HANDLE hProcess;
hWnd = FindWindowA(NULL, "Unbenannt - Editor");
if (hWnd == 0) {
cerr << "Fenster nicht gefunden.";
}
thread = GetWindowThreadProcessId(hWnd, NULL);
cout << thread << "n";
hProcess = OpenProcess(PROCESS_VM_READ, FALSE, thread);
DWORD error = GetLastError();
cout << "n" << error << "n";
CloseHandle(hProcess);
system("PAUSE");
return 0;
Ich und der compiler erkennen keinen Fehler. Ihr?
grüße
|
|
|
10/04/2007, 23:57
|
#2
|
elite*gold: 20
Join Date: Jan 2006
Posts: 539
Received Thanks: 228
|
Du ueberpruefst hProcess garnicht auf 0, dass ist wichtig, weill winapi funktionen nach einem erfolgreichen funktionsaufruf LastError nicht auf 0 setzen.
Also entweder (so wuerde ich es auch machen)
Code:
if (hProcess != 0){
//weitermachen
} else {
//GetLastError(..)
}
oder (zur verdeutlichung)
Code:
SetLastError(0);
hProcess = OpenProcess(PROCESS_VM_READ, FALSE, thread);
..
|
|
|
10/05/2007, 00:18
|
#3
|
elite*gold: 0
Join Date: Oct 2005
Posts: 2,487
Received Thanks: 215
|
Hab ich schon gemacht, den Test auf 0. Das Handle ist immer 0, deshalb bin ich überhaupt auf GetLastError gekommen.
|
|
|
10/05/2007, 00:24
|
#4
|
elite*gold: 0
Join Date: May 2006
Posts: 162
Received Thanks: 44
|
DWORD GetWindowThreadProcessId(
HWND hWnd,
LPDWORD lpdwProcessId
);
soweit ich das sehe ist der return value die ThreadId und nicht der ProcessId den du benutzt. Du brauchst aber die ProcessId also so:
DWORD dwProcessId;
GetWindowThreadProcessId(hWnd, &dwProcessId);
|
|
|
10/05/2007, 00:24
|
#5
|
elite*gold: 20
Join Date: Jan 2006
Posts: 539
Received Thanks: 228
|
Zong
du rufst GetWindowThreadProcessId falsch auf. versuch es mal so
Code:
GetWindowThreadProcessId(hWnd, &PID);
cout << PID<< "n";
hProcess = OpenProcess(PROCESS_VM_READ, FALSE, PID);
|
|
|
10/05/2007, 14:29
|
#6
|
elite*gold: 0
Join Date: Oct 2005
Posts: 2,487
Received Thanks: 215
|
Danke Leute, jetzt gehts. Das handle ist 0x2c
Code:
#include <iostream>
#include <stdlib.h>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[])
{
HWND hWnd;
HANDLE hProcess;
DWORD dwProcessId;
hWnd = FindWindowA(NULL, "Unbenannt - Editor");
if (hWnd == 0) {
cerr << "Fenster nicht gefunden.";
}
GetWindowThreadProcessId(hWnd, &dwProcessId);
cout << dwProcessId << "n";
hProcess = OpenProcess(PROCESS_VM_READ, FALSE, dwProcessId);
if (hProcess == 0)
{
DWORD error = GetLastError();
cout << "n" << error << "n";
}
else
{
cout << hProcess << "n";
}
CloseHandle(hProcess);
system("PAUSE");
return 0;
}
|
|
|
 |
Similar Threads
|
ReadPrcessMemory gibt nur NULL zurück
07/30/2010 - General Coding - 6 Replies
IntPtr Handle = (IntPtr)FindWindow("nksp", null);
string strFile;
int iBytes;
IntPtr iFile = (IntPtr)0x106445A8;
ReadProcessMemory(Handle, iFile, out strFile, 8, out iBytes);
Warum gibt der immer nur NULL zurück?
Was mach ich falsch?
Hab noch jetzt echt durch ganz google geklickt
|
[C++] GetPixel gibt falsche Werte zurück
10/15/2009 - C/C++ - 26 Replies
Hi Leute ^^
Ich hab heute mal versucht für Combat Arms einen kleinen "Aimbot" (eig kann mans so nicht nennen) zu schreiben, der jedes mal wenn jemand durch mein Fadenkreuz läuft schießt. Dafür muss ich natürlich still stehen und darf die Waffe nicht bewgen. Soweit, sogut. Jetzt kommen wir zu meinem Problem:
Sobald ich jedoch ingame gehe (also sobald die 3D Engine von CA läuft (im Menü gehts noch)), gibt GetPixel immer den selben Wert zurück, welcher jedoch in keinster Weise passt. Bei...
|
Ping() liefert @Error Code 4 zurück
07/21/2009 - AutoIt - 2 Replies
Hey habe da ein kleines Problem. Arbeite zuzeit an einen Downloader für ein Tutorial und habe am Anfang des Scripts ein Connection Check eingebaut:
Ping("http://www.elitepvpers.com")
If @error Then
MsgBox(-1,"ERROR",@error)
MsgBox(-1,"ERROR","Cant connect to server")
Exit
Else
InetGet("http://www.elitepvpers.com/forum/ep vp-coders-tutorials/286071-autoit-tipps-und-tricks .html","Tutorial2.html",1,1)
EndIf
DAs hat bis jetz auch alles funktioniert, doch auf einmal gibt die ping Funktion...
|
iniRead gibt -1 zurück
05/10/2009 - AutoIt - 2 Replies
So hab ein kleines Problem.
Ich arbeite gerade an einen Shortkey configurator.
Das ganze ist ziemlich kompliziert(hört sich leicht an aber wenn ich euch mein Script zeige das ich habe würdet ihr über die Länge staunen ;) ) und benutzt viele Variablen.
Aus diesen und und noch aus einen anderen Grund habe ich mich entschieden die Variablen,die die Werte aus der Ini erhalten, als Arrays zu arrangieren.
Problem: seitdem geben diese Variablen nur -1 zurück(jede, eigentlich sollten nur 2 -1...
|
Account perm. Banned - gibt es fälle bei denen der bann zurück genommen wurde?
04/05/2009 - World of Warcraft - 5 Replies
hallo,
vor 5 tagen wurde ich für 3 tage gebannt wegen online-handel. in der zeit habe ich einen account gescammt und mir das ganze gold auf meinen eigenen main zugeschickt. das konnte blizzard zurückverfolgen und hat dann meinen eigenen account (der ja für 3 tage schon gebannt war) für immer gepserrt.
jetzt wollte ich fragen ob euch fälle bekannt sind das blizzard so einen perma bann zurücknimmt. sei es durch anrufen bei blizzard, emails schreiben etc.
wenn ja, wie am besten vorgehen?
|
All times are GMT +1. The time now is 18:50.
|
|