• λ我爱Aspx >> C#.Net >> 用Visual C++实现屏幕抓图程序
  • 用Visual C++实现屏幕抓图程序

  • :aspxer  Դ:internet  :2007-5-12 7:50:58  ؼ:
  • DLL中的两个输出函数分别用来添加/删除热键,函数代码如下:

    BOOL __declspec(dllexport) __stdcall AddHotkey(HWND hWnd,UCHAR

    cKey,UCHAR cMask)

    {

    BOOL bAdded=FALSE;

    for(int index=0;index<MAX_KEY;index++){

    if(hCallWnd[index]==0){

    hCallWnd[index]=hWnd;

    HotKey[index]=cKey;

    HotKeyMask[index]=cMask;

    bAdded=TRUE;

    KeyCount++;

    break;

    }

    }

    return bAdded;

    }

    //删除热键

    BOOL __declspec(dllexport) __stdcall DeleteHotkey(HWND hWnd,UCHAR cKey,UCHAR cMask)

    {

    BOOL bRemoved=FALSE;

    for(int index=0;index<MAX_KEY;index++){

    if(hCallWnd[index]==hWnd){

    if(HotKey[index]==cKey&&HotKeyMask[index]==cMask){

    hCallWnd[index]=NULL;

    HotKey[index]=0;

    HotKeyMask[index]=0;

    bRemoved=TRUE;

    KeyCount--;

    break;

    }

    }

    }

    return bRemoved;

    }

    DLL中的钩子函数如下:

    LRESULT CALLBACK KeyboardProc(int nCode,WPARAM wParam,LPARAM lParam)

    {

    BOOL bProcessed=FALSE;

    if(HC_ACTION==nCode)

    {

    if((lParam&0xc0000000)==0xc0000000){// 有键松开

    switch(wParam)

    {

    case VK_MENU:

    MaskBits&=~ALTBIT;

    break;

    case VK_CONTROL:

    MaskBits&=~CTRLBIT;

    break;

    case VK_SHIFT:

    MaskBits&=~SHIFTBIT;

    break;

    default: //judge the key and send message

    Ҷƪл˵?
  • һƪASP正则表达式详解
    һƪ代码演示在菜单中加入广播按钮