Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 18:50

  • Please register to post and access all features, it's quick, easy and FREE!

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.

Reply
 
Old   #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
Term!nX is offline  
Old 10/04/2007, 23:57   #2
 
rEdoX's Avatar
 
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);
..
rEdoX is offline  
Old 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.
Term!nX is offline  
Old 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);
Harko is offline  
Old 10/05/2007, 00:24   #5
 
rEdoX's Avatar
 
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);
rEdoX is offline  
Old 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;

}
Term!nX is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.