C 根據程序名稱獲取程序的控制代碼?

2021-06-26 16:40:32 字數 1341 閱讀 6850

c#根據程序名稱獲取程序的控制代碼或c#如何獲取其他程序的控制代碼?

有時候標題名是動態變化的,所以不使用findwindow方法!

[structlayout(layoutkind.sequential)]

public struct processentry32

[dllimport("kernel32.dll ")]

public static extern intptr createtoolhelp32snapshot(uint flags,uint processid);

[dllimport("kernel32.dll ")]

public static extern int closehandle(intptr handle);

[dllimport("kernel32.dll ")]

public static extern int process32first(intptr handle,ref   processentry32 pe);

[dllimport("kernel32.dll ")]

public static extern int process32next(intptr handle,ref   processentry32 pe);

[dllimport("user32.dll",entrypoint="sendmessage")]

private static extern int sendmessage(int hwnd,int msg,int wparam,string lparam);

public intptr gethandlebyprocessname(string processname)

bmore=process32next(handle,ref pe32);}}

return hh;

}public static intptr getcurrentwindowhandle(uint proid)

else

}bool bresult=enumwindows(new wndenumproc(enumwindowsproc),uipid);

// 列舉視窗返回 false 並且沒有錯誤號時表明獲取成功

if(!bresult&&marshal.getlastwin32error()==0)

}return ptrwnd;

}private static bool enumwindowsproc(intptr hwnd,uint lparam)

}return true;}

呼叫:intptr hh=gethandlebyprocessname("notepad.exe");

if(hh!=intptr.zero)

python獲取父程序名稱 獲取程序的名稱

對程序的名稱獲取的幾種方法 import time import multiprocessing import os def work1 for i in range 10 print 我是work i,multiprocessing.current process pid ppid獲取父程序的編號...

linux 根據程序名稱kill程序

經常需要 kill 多個程序,這些程序包含共同的關鍵字,可以用一條命令 kill 掉它們。ps aux grep common cut c 9 15 xargs kill 9 管道符 用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。下面說說用管道符聯接起來的幾個命令 ps aux ...

如何根據程序id獲取該程序的主視窗控制代碼

最近剛好有個功能,需要這個邏輯,話不多說,上 struct handle data bool ismainwindow hwnd handle hwnd findmainwindow unsigned long process id bool callback enumwindowscallback...