首页
社区
课程
招聘
[求助]请会C语言的朋友帮忙把这段代码转成delphi的谢谢
发表于: 2014-11-27 00:06 3856

[求助]请会C语言的朋友帮忙把这段代码转成delphi的谢谢

2014-11-27 00:06
3856
/////////////////////////////////////////// MyPePlug.h ///////////////////////////////////////////////////////////
#ifdef MYPEPLUG
#else
#define MYPEPLUG extern "C" __declspec(dllimport)
#endif
MYPEPLUG void LoadPlug(const DWORD reversed,
             HWND hWnd,
             UINT msg,
             WPARAM wParam,
             LPARAM lParam);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////// MyPePlug.cpp//////////////////////////////////////////////////////////////
#include <Windows.h>
#define MYPEPLUG extern "C" __declspec(dllexport)
#include "MyPePlug.h "

bool flag = true;

void MySetLayeredWindowAttributes(HWND hWnd)
{
  SetWindowLong(hWnd,GWL_EXSTYLE,
    GetWindowLong(hWnd,GWL_EXSTYLE)^0x80000);
  HINSTANCE hInst = LoadLibrary("User32.DLL");
  if(hInst)
  {            
    typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);         
    MYFUNC fun = NULL;
    //取得SetLayeredWindowAttributes函数指针     
    fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");
    if(fun)fun(hWnd,0,128,2);     
    FreeLibrary(hInst);
  }
}

void LoadPlug(const DWORD reversed, HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
  switch(msg) {
  case WM_COMMAND:
    if(wParam == 118)//这是我自己通过资源添加的一个菜单的id
  {
//由于我的vc++的sdk是老版本,所以没有SetLayeredWindowAttributes函数,如果你的sdk
//是新版本,就不用我这么麻烦了,你就可以直接调用SetLayeredWindowAttributes函数了
  MySetLayeredWindowAttributes(hWnd);
  }
  else if(wParam == 119)
  {
    if(flag)
    {
      SetWindowPos(hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE);
      flag=false;
    }
    else
    {
      SetWindowPos(hWnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE);
      flag=true;
    }
  }
  }
}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 62
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这不得两种语言都会才对
2014-11-27 00:15
0
雪    币: 102
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
细节都忘了...
只能说花括号换成begin end了哈哈哈.
2014-11-27 00:24
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
多学点语言的好处出来了.
2014-12-2 16:15
0
雪    币: 62
活跃值: (2052)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
是啊,但我只会一点点DELPHI,求高手帮下小菜。
2014-12-3 21:13
0
游客
登录 | 注册 方可回帖
返回
//