如何在其他程式的視窗上建立按鈕並使之能響應

2021-04-28 21:08:47 字數 1208 閱讀 4759

如何在其他程式的視窗上建立按鈕並使之能響應ac952_z_cn

環境:windows nt/2000

實現方法:採用將動態連線庫注入到其他程序中的方法來實現。

為了便於選擇視窗,我借用了另乙個程式"2000下顯示帶*號"來選擇視窗。

如果要在98下實現你可用鉤子同樣實現。

程式執行介面如圖一:

圖一將動態連線庫注入其他程序的**如下:

bool winapi rt_ctrl_btn(lpcstr lpszlibfile, hwnd hwnd, dword dwid, lprect prtbtn, lpctstr szcaptionbtn)

inject_dll injectinfo;

injectdll_info(&injectinfo, lpszlibfile, hwnd, dwid, prtbtn, szcaptionbtn);

lpbyte lpthreadaddr=(lpbyte)::virtualallocex(hprocess, null, maxinjectsize, mem_commit, page_execute_readwrite);

lpinject_dll param = (lpinject_dll) virtualallocex( hprocess, 0, sizeof(inject_dll), mem_commit, page_readwrite );

writeprocessmemory(hprocess, lpthreadaddr,&remotecontrolthread, maxinjectsize, 0);

writeprocessmemory( hprocess, param, &injectinfo, sizeof(injectinfo), 0 );

dword dwthreadid;

handle hthread = ::createremotethread(hprocess,null,0,

(unsigned long (__stdcall *)(void *))lpthreadaddr,

param, 0, &dwthreadid);

if (!hthread)

else }

catch (...)

return true;

}

環境:win2000 professional + vc6.0+sp5 + platformsdk 2001.8

如何在其他程式的視窗上建立按鈕並使之能響應

環境 windows nt 2000 實現方法 採用將動態連線庫注入到其他程序中的方法來實現。為了便於選擇視窗,我借用了另乙個程式 2000下顯示帶 號 來選擇視窗。如果要在98下實現你可用鉤子同樣實現。程式執行介面如圖一 將動態連線庫注入其他程序的 如下 bool winapi rt ctrl b...

WPF疑難 如何禁用視窗上的關閉按鈕

wpf疑難 如何禁用視窗上的關閉按鈕 周銀輝 哈哈,主要是呼叫removemenu這個api,所以沒什麼好說的,直接 乾貨 吧 namespace versatilemessageboxlib public static void disable int handle 在使用時 呼叫closebut...

WPF疑難 如何禁用視窗上的關閉按鈕

wpf疑難 如何禁用視窗上的關閉按鈕 周銀輝 哈哈,主要是呼叫removemenu這個api,所以沒什麼好說的,直接 乾貨 吧 namespace versatilemessageboxlib public static void disable int handle 在使用時 呼叫closebut...