別人的程式加入自己的選單

2021-04-13 13:31:13 字數 3051 閱讀 4245

csdn 經常看到有人問, 我把**貼出來

已經編譯好的程式 http://download.csdn.net/source/267091

#include 

"stdafx.h

"#include 

<

tchar.h

>

#include 

"comfun/comfun.h"/

////

ppsys.dll

//coder: yofoo///

lresult callback callwndprocretfunc(

intncode, wparam wparam, lparam lparam);

lresult callback getmsgprocfunc(

intncode, wparam wparam, lparam lparam);

#define

sc_wndtop        0x0c01

#define

mf_mytopmenu    0xffff

//#define

dlg_needstyle    (ws_caption | ws_sy**enu)

#define

menutop_str        _t("always on top(&t)")

#pragma

data_seg(".share")

_declspec(allocate(

".share"))

hhook        hcallwndret    

=null;

hhook        hgetmsg        

=null;

hwnd        g_hthiswnd    

=null;

#pragma

data_seg ()

#pragma

comment(linker, "/section:.share,rws")

//std::mapwindowtop;

extern

hinstance        hins;

bool    bmenuinserted    

=false;

bool    bwndtoped        

=false;

hmenu    hsy**enu        

=null;

uint    umenuid            =-

1;//10001020

bool installmenu(hwnd hthiswnd 

=null)

//10001070

bool removetopmenu()

//10001120

bool deletetopmenu(hwnd hwnd)

}bmenuinserted 

=false;

return

false;}//

100010a0

bool inserttopmenu(hwnd hwnd, bool btoped)

//10001290

lresult callback callwndprocretfunc(

intncode, wparam wparam, lparam lparam)

pcwpret 

=(pcwpretstruct)lparam;

if(pcwpret

->

hwnd 

==g_hthiswnd)

if(pcwpret

->

message 

==wm_initmenu)

long    lstyle;

lstyle 

=getwindowlong(pcwpret

->

hwnd, gwl_style);

if((lstyle 

&dlg_needstyle) ==0

)//hwnd    hparwnd;

//hparwnd = getparent(pcwpret->hwnd);

//if( hparwnd != null)

//inserttopmenu(pcwpret

->

hwnd, bwndtoped);

}else

if(pcwpret

->

message 

==wm_menuselect)

if(hmenu 

!=null)

deletetopmenu(pcwpret

->

hwnd);

}lretval 

=callnexthookex(hcallwndret, ncode, wparam, lparam);

return

lretval;}//

100011d0

lresult callback getmsgprocfunc(

intncode, wparam wparam, lparam lparam)

pmsg 

=(pmsg)lparam;

if(pmsg

->

hwnd 

==g_hthiswnd 

||pmsg

->

message 

!=wm_syscommand 

||pmsg

->

wparam 

!=sc_wndtop)

if(bwndtoped)

else

setwindowpos(pmsg

->

hwnd, hwndinsertafter, 0, 

0, 0, 

0, swp_nosize 

|swp_nomove);

deletetopmenu(pmsg

->

hwnd);

inserttopmenu(pmsg

->

hwnd, bwndtoped);

return0;

}

為自己的程式加入dump功能

程式有的時候要長時間執行,如果中間出現錯誤,就需要彈出dump檔案,然後用vs2017開啟檢視 異常所在的 位置。include 為了呼叫函式 stringcchprintf include 生產dump檔案 intgenerateminidump tchar szfilename max path...

讓別人自己決定別人的生活

an optimist sees the rose a pessimist the thorn.樂觀的人看到玫瑰,悲觀的人只看到它的刺。在社會發展的程序中,個人的力量是渺小的。個人的影響力是有限的,人的一生影響最多的是他的朋友和親人。這種影響有利有害,可小可大 而且往往事務是兩方面的,你以為你在幫助...

別人的嘴巴,自己的道路

從前有乙個故事是這樣說的 有一群青蛙在比賽誰能爬上最高的鐵塔,比賽開始了,一大群的青蛙看著那高大的鐵塔議論紛紛 這太難了!我們絕對爬不到塔頂的 塔太高了!我們不可能成功 聽到這裡,有些青蛙便放棄了。但有乙隻卻越爬越高,最後當其它的青蛙都無法再前進的時候,牠卻成為唯一到達頂點的選手。其它的青蛙都想知道...