本帖最后由 aaadddzxc 于 2014-10-29 10:41:52 编辑

解决方案 »

  1.   

    如果是MFC程序的话,自身的句柄主窗口的句柄应该在CWinApp中m_pMainFrame
    GetModuleFileName可以获得应用程序名称
      

  2.   

    不是MFC,如何获得自身的程序窗口句柄?
      

  3.   

    API 创建窗口时保存API 或从WindowPorc 中去传入的 HWND句柄GetModuleFileName 可获取APP文件名
      

  4.   

    我在DLL中不想传递 hwnd参数,想让DLL自己获取当前加载这个DLL的窗口句柄。
      

  5.   

    EnumWindows,在 枚举过程函数中,判断窗口所在进程是否是当前进程就可以了。
    进程自身的句柄是 HANDLE, 不是 HWND。而且进程可能不止一个窗口。
    自身的窗口,程序可以在编写的过程中自己获取。因为这是自己的程序。
    当然注入例外。程序名在 XP 下,使用 CreateToolhelp32Snapshot 和 Module32FirstW 获取。在 Vista 下 QueryFullProcessImageName 获取。