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