澳门新葡亰娱乐网站-www.142net-欢迎您

澳门新葡亰娱乐网站是因为你还没有找到一条正确的致富之路,www.142net是将所有的游戏都汇集在一起的官方平台,因为澳门新葡亰娱乐网站这个网站当中有着大量的游戏攻略,托IP定位技术,传达终端直接到达的精准传播方式。

当程序调用dll时获取dll路径,Selenium获取当前窗口

来源:http://www.bhtsgq.com 作者:计算机知识 人气:155 发布时间:2019-05-15
摘要:HMODULE getCurrModuleHandle() { MEMORY_BASIC_INFORMATION info; ::VirtualQuery((LPCVOID)(info, sizeof(info)); 当程序调用dll时获取dll路径,Selenium获取当前窗口句柄与切换回原窗口句柄。当程序调用dll时,获取

HMODULE getCurrModuleHandle()
{
MEMORY_BASIC_INFORMATION info;
::VirtualQuery((LPCVOID)(&getCurrModuleHandle), &info, sizeof(info));

当程序调用dll时获取dll路径,Selenium获取当前窗口句柄与切换回原窗口句柄。当程序调用dll时,获取dll路线的方法:

    HMODULE hMod = GetModuleHandle(_T("axload.dll"));
    if (hMod != NULL)
    {
        TCHAR szBuffer[MAX_PATH] = { 0 };
        GetModuleFileName(hMod, szBuffer, sizeof(szBuffer)/sizeof(TCHAR)-1);

        _DEBUG_OUT("path: %srn", szBuffer);
    }

 

 

 

 

鉴于 dll 自己不或然奉行,必要别的程序调用。

如此就产生了之类难题:就算想在 dll 中拿走 dll 自己的门路、名称,就不好办了!

GetCurrentDirectory() 只能获取到调用主程序的路径;
GetModuleFileName() 只能得到 dll 的句柄后才能工作;
  • 1
  • 2
  • 1
  • 2

写死在参数里倒是能够用,不过只要退换名称,就能失效,也就是在先后里埋了壹颗雷!

HMODULE hMod = GetModuleHandle(_T("ntdll.dll"));

末尾终于找到了办法:

方法1:

注意:TRUE会导致DLL引用计数加1,FALSE不会改变引用计数,通常用FALSE  
HMODULE GetCurrentModule(BOOL bRef/* = FALSE*/)  
{  
    HMODULE hModule = NULL;  
    if (GetModuleHandleEx(bRef ? GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS : (GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS   
    | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT),    (LPCSTR)GetCurrentModule, &hModule))  
    {  
        return hModule;  
    }  

    return NULL;  
}  

方法2:

    参考:http://blog.csdn.net/yaosan/article/details/3459756  
    HMODULE GetSelfModuleHandle()  
    {  
        MEMORY_BASIC_INFORMATION mbi;  

        return ((::VirtualQuery(GetSelfModuleHandle, &mbi, sizeof(mbi)) != 0)   
              ? (HMODULE) mbi.AllocationBase : NULL);  
    }  

======> DLL中怎么着获得自己的句柄 <======

 

Selenium通过window_handles获取当前窗口句柄,举行页面成分操作

return (HMODULE)info.AllocationBase;
}

切换回原窗口句柄,进行成分操作

本文由澳门新葡亰发布于计算机知识,转载请注明出处:当程序调用dll时获取dll路径,Selenium获取当前窗口

关键词: 澳门 软件测试 其他分类 Delphi-Exe selenium

上一篇:python全栈开发,补充UDP的套接字

下一篇:没有了

最火资讯