码迷,mamicode.com
首页 > 其他好文 > 详细

每天学习1

时间:2018-05-14 23:06:13      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:表示   技术分享   lib   自动   win   调用   定义   point   extern   

1.vs2013动态库问题

  (1)一般为了节省内存,动态库一般是被别的程序调用,

  (2)动态库查找的方式,先在当前文件夹(程序运行的文件夹)中找,若没有,当你的你的程序是64位时,它会去system32下面查找,当你的你的程序是32位时,它会去syswos64下面查找

  (3)动态库的加载HMODULE handle =::LoadLibrary(L"Win32Project1.dll");

技术分享图片

 

 2.   MessageBox(NULL, L"ZHAO111", L"111", MB_OK);

 

3.当vs中解决方案资源管理器中有动态库和其他项目时,这是不能用F5去调试,他会报这个错误:

技术分享图片

这是因为动态库一般不能自动去运行,它一般是让别的程序加载它,可以右键把其他项目设置成“设为启动项目”,然后在点F5

 

4. 一般动态库加载的2中方式

     (1)动态加载:

    1)加载动态库,获取句柄 HMODULE handle =::LoadLibrary(L"DllExportDemo.dll");

    2) typedef int(*FUNC) (void);    //   定义函数指针

      FUNC func = (FUNC)::GetProcAddress(handle, "fnDllExportDemo");     

      cout << func() << endl;              //打印调用动态库的结果

    3)函数声明前加  extern "C"   以表示用C编译

  (2)静态加载

    1)把动态库的头文件放到项目中,并把生成的libk文件放到项目中

    2).CPP中包含头文件技术分享图片

    3)包含要使用的库技术分享图片

    4)直接调动态库中的方法技术分享图片

5  让别人QQ无法登陆:不断循环去检测桌面上的QQ窗口,如果有,则当鼠标放上去的时候,QQ窗口隐藏,

while (true)

{
  //获取QQ窗口的句柄,TXGuiFoundation:表示QQ窗口类,“”QQ”  表示窗口标题是QQ
  HWND handQQ = FindWindow(L"TXGuiFoundation", L"QQ");

  //抓取鼠标位置
  POINT pos = { 0 };
  GetCursorPos(&pos);

  //获取QQ窗口的位置
  RECT rect = { 0 };
  GetWindowRect(handQQ, &rect);

  if (pos.x > rect.left && pos.x <rect.right && pos.y >rect.top && pos.y < rect.bottom)
  {
  ShowWindow(handQQ, SW_HIDE);
  }
  else
  {
  ShowWindow(handQQ, SW_SHOW);
  }
}

 

每天学习1

标签:表示   技术分享   lib   自动   win   调用   定义   point   extern   

原文地址:https://www.cnblogs.com/zwj-199306231519/p/9038351.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!