|
You last visited: Today at 01:42
Advertisement
[VB.NET]GetWindow anstadt GetProcessesByName
Discussion on [VB.NET]GetWindow anstadt GetProcessesByName within the .NET Languages forum part of the Coders Den category.
08/13/2010, 16:40
|
#1
|
elite*gold: 0
Join Date: Feb 2009
Posts: 2,715
Received Thanks: 5,305
|
[VB.NET]GetWindow anstadt GetProcessesByName
Hallo zusammen ich möchte mal fragen wie man ein prozess mit hilfe des fenstertitels aufrufen kann also ich meine wie ich das
PHP Code:
Public myProcesses As Process() = Process.GetProcessesByName(prozess) Public processHandle As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, myProcesses(0).Id)
austauschen kann mit dem fenster titel ich habe leider noch keinen ansatz gefunden wäre nett danke schon mal für eure hilfe.
MfG.SanDMaNN016
|
|
|
08/13/2010, 23:03
|
#2
|
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
|
am liebsten mag ich aber get Fenster per Bildschirmkoordinate:
hier ein beispiel:
C# code (Vb ist auch nicht wirklich anders)
PHP Code:
class WindowPicker { static object o = new object(); static POINT point = new POINT(); static IntPtr hhook = (IntPtr)0; static AutoResetEvent klicked = new AutoResetEvent(false); static LowLevelMouseProc mProc = MouseHookCallback; public static IntPtr PickWindow() { lock (o) { hhook = SetMouseHook(mProc); klicked.WaitOne(); UnhookWindowsHookEx(hhook); return WindowFromPoint(point); } }
public static Process GetProcFromWindow(IntPtr hwnd) { int ProcID; GetWindowThreadProcessId(hwnd, out ProcID); return Process.GetProcessById(ProcID); } /// <summary> /// /// </summary> /// <param name="nCode"></param> /// <param name="wParam"></param> /// <param name="lParam"></param> /// <returns></returns> private delegate IntPtr LowLevelMouseProc( int nCode, IntPtr wParam, IntPtr lParam);
/// <summary> /// diese methode wird jedesmal aufgerufen sobald jmd. die Maus bewegt /// </summary> /// <param name="nCode"></param> /// <param name="wParam"></param> /// <param name="lParam"></param> /// <returns></returns> private static IntPtr MouseHookCallback( int nCode, IntPtr wParam, IntPtr lParam) { //Marshall the data from the callback. MouseHookStruct MyMouseHookStruct = (MouseHookStruct)Marshal.PtrToStructure(lParam, typeof(MouseHookStruct));
if (nCode < 0) { return CallNextHookEx(hhook, nCode, wParam, lParam); } else { if (wParam.ToInt32() == Constants.WM_LBUTTONDOWN) { int x = MyMouseHookStruct.pt.x; int y = MyMouseHookStruct.pt.y; point = new POINT(); point.x = x; point.y = y; klicked.Set(); } return CallNextHookEx(hhook, nCode, wParam, lParam); }
} /// <summary> /// setett den maus Hook /// </summary> /// <param name="proc">ein Pointer uf eine funktion, die bei jeder Mausbewgung ausgeführt werden soll</param> /// <returns></returns> private static IntPtr SetMouseHook(LowLevelMouseProc proc) { using (Process curProcess = Process.GetCurrentProcess()) using (ProcessModule curModule = curProcess.MainModule) { return SetWindowsHookEx( Repeater.Constants.WH_MOUSE_LL, proc, GetModuleHandle(curModule.ModuleName), 0); } } /// <summary> /// die Windosmethode um systemweite Hooks zu setzen /// </summary> /// <param name="idHook"></param> /// <param name="lpfn"></param> /// <param name="hMod"></param> /// <param name="dwThreadId"></param> /// <returns></returns> [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr SetWindowsHookEx(int idHook, LowLevelMouseProc lpfn, IntPtr hMod, uint dwThreadId); /// <summary> /// die Windosmethode um systemweite Hooks wieder aufzulösen /// </summary> /// <param name="hhk"></param> /// <returns></returns> [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool UnhookWindowsHookEx(IntPtr hhk); /// <summary> /// die Windosmethode, die am ende jeder hookfunktion gerufen werden muss /// </summary> /// <param name="hhk"></param> /// <param name="nCode"></param> /// <param name="wParam"></param> /// <param name="lParam"></param> /// <returns></returns> [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam); /// <summary> /// die Windosmethode, um weiss ich grad nicht /// </summary> /// <param name="lpModuleName"></param> /// <returns></returns> [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr GetModuleHandle(string lpModuleName);
[DllImport("user32.dll")] static extern IntPtr WindowFromPoint(POINT Point);
[DllImport("User32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr GetWindowThreadProcessId(IntPtr hwnd, out int procID); } //Declare the wrapper managed MouseHookStruct class. [StructLayout(LayoutKind.Sequential)] public struct MouseHookStruct { public POINT pt; public int hwnd; public int wHitTestCode; public int dwExtraInfo; } [StructLayout(LayoutKind.Sequential)] public struct POINT { public int x; public int y; }
|
|
|
08/14/2010, 10:46
|
#3
|
elite*gold: 0
Join Date: Feb 2009
Posts: 2,715
Received Thanks: 5,305
|
Also wenn du C# lernst bist du arm dran das is ne billig kopie von JAva und ist platform basiert eingeschlossen auf windoff
also neue frage wie kann ich writeprocesmemory an ein fenster.......
Danke schon ma
|
|
|
08/14/2010, 14:06
|
#4
|
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
|
Quote:
Originally Posted by SandMann016
Also wenn du C# lernst bist du arm dran das is ne billig kopie von JAva und ist platform basiert eingeschlossen auf windoff
also neue frage wie kann ich writeprocesmemory an ein fenster.......
Danke schon ma
|
??
nein ich lerne es nicht mehr, ich kann es schon gut genug. ich finde in C# zu schreiben einfach einfacher als in Java.
und ich hab grade (in Post 2) links gegeben die man von einem fenster ein prozesshanlde bekommen kann..... .
mit dem Prozesshandle kannst du dann ganz normal writeprocesmemory ausführen.
Edit: ich hab erst angefangen Java zu programmieren bevor ich mit C# angefengen habe.
|
|
|
08/14/2010, 14:39
|
#5
|
elite*gold: 0
Join Date: Feb 2009
Posts: 2,715
Received Thanks: 5,305
|
ich hab es gelöst^^
hab eine funktion gemacht find_aktive_window_id der rest dürfte sich erklären lassen... .
|
|
|
Similar Threads
|
[Welches] BetriebsSystem anstadt FreeBSD
05/21/2010 - Metin2 Private Server - 24 Replies
Hi Leute.
Habe mal eine Wichtige frage lege mir jetz mein Traum Root zu.
Nur hatt kein FreeBSD daher die frage welches anstadt ?
Hier alle die sie anbieten
|
WoW Anstadt Mt2 HILFEEE SUCHE WOW SERVER !!!!!
05/07/2010 - WoW Private Server - 2 Replies
kann jmg mir hier mal helfen naja ich habe bis jz nur p server von final oder mt2 gezcotk würde gern mal wow ausporbieren wäre echt nett und cool von euch mir welche zu empflehen habe wow auch noch nie gezockt also sollte es leicht sein leiocht eq zu bekommen und schnell zu lvn sein also ein ganz leichter server zum anfang wollte nur gucken dan wie wow so ist also der server müsste ganz leicht werden am anfang an zu lvn schön wäre es wen ihr mir vorschläge + links per on me schickt oder hier...
|
All times are GMT +2. The time now is 01:42.
|
|