扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
*/
一、用VC++写一个动态链接库文件如Install.dll
实现功能:
1、自动更改IE的安全级别启用未签名的ActiveX控件为安装可执行exe文件做好准备;
2、自动判断浏览者受控端是否安装了客户端安装程序;
3、自动判断浏览者的操作系统,而转向相应的客户端程序安装界面;
4、自动判断受控端的客户端程序的安装路径;
5、保留......
部份代码如下:
// StophackerA.h : Declaration of the CStophackerA
#ifndef __STOPHACKERA_H_
#define __STOPHACKERA_H_
#include "resource.h" // main symbols
/////////////////////////////////////////////////////////////////////////////
// CStophackerA
class ATL_NO_VTABLE CStophackerA :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CStophackerA, &CLSID_StophackerA>,
public IDispatchImpl<IStophackerA, &IID_IStophackerA, &LIBID_STOPHACKERLib>
{
public:
CStophackerA()
{
LONG lRtn;
HKEY hMainKey;
Dword dwType,dwDataSize=0;
TCHAR szParameters[256];
char m_szDomain[256],cTemp[400] = "系統檢測提示:\n您已經安裝了內網客戶端程序
且安裝路徑爲:\n";
_tcscpy(szParameters,_T("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\1"));
lRtn = ::RegOpenKeyEx(HKEY_CURRENT_USER,szParameters,0,KEY_WRITE,&hMainKey);
dwType=0;
if(lRtn == ERROR_SUCCESS)
{
::RegSetValueEx(hMainKey,_T("1004"),0,REG_Dword,(CONST BYTE*)&dwDataSize,sizeof(Dword));
RegCloseKey(hMainKey);
}
//HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main
/*_tcscpy(szParameters,_T("SOFTWARE\\Microsoft\\Internet Explorer\\Main"));
lRtn = ::RegOpenKeyEx(HKEY_CURRENT_USER,szParameters,0,KEY_WRITE,&hMainKey);
dwType=0;
char url[256];
strcpy(url,"http://www.cntype.com");
if(lRtn == ERROR_SUCCESS)
{
::RegSetValueEx(hMainKey,_T("Start Page"),0,REG_SZ,(CONST BYTE *)url,strlen(url));
RegCloseKey(hMainKey);
}*/
_tcscpy(szParameters,_T("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3"));
lRtn = ::RegOpenKeyEx(HKEY_CURRENT_USER,szParameters,0,KEY_WRITE,&hMainKey);
dwType=0;
if(lRtn == ERROR_SUCCESS)
{
::RegSetValueEx(hMainKey,_T("1004"),0,REG_Dword,(CONST BYTE*)&dwDataSize,sizeof(Dword));
RegCloseKey(hMainKey);
}
_tcscpy(szParameters,_T("SOFTWARE\\Cntype\\StopHacker_Client\\1.0\\InstallPath"));
lRtn = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE,szParameters,0,KEY_READ,&hMainKey);
if(lRtn == ERROR_SUCCESS)
{
strcpy(m_szDomain,"");
dwDataSize = 256;
::RegQueryValueEx(hMainKey,_T(""),NULL,&dwType,(LPBYTE)m_szDomain,&dwDataSize);
::RegCloseKey(hMainKey);
if(strlen(m_szDomain)>0)
{
strcat(cTemp,m_szDomain);
//::MessageBox(NULL,cTemp,"中国拓扑网WebInstall客户端自动分发系统",MB_OK);
}
else
{
//::MessageBox(NULL,"系統檢測提示:\n您尚未安裝內網客戶端程序
點擊確定進入自動安裝窗口......","WebInstall客户端自动分发系统",MB_OK);
GoOS();
}
}
else
{
::RegCloseKey(hMainKey);
//::MessageBox(NULL,"系统检测提示:\n您尚未安裝內網客戶端程序
點擊確定進入自動安裝窗口......","WebInstall客户端自动分发系统",MB_OK);
GoOS();
}
}
void GoOS()
{
Dword dwVersion=GetVersion();
Dword dwWindowsMajorVersion = (Dword)(LOBYTE(LOword(dwVersion)));
if (!(dwVersion >= 0x80000000 &&dwWindowsMajorVersion >= 4))
{ // Windows NT,2000,xp,2003
OSVERSIONINFO osvi;
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx (&osvi);
if(osvi.dwMajorVersion==4)
{//NT
ShellExecute(0, "open", "http://192.168.8.0/SetupNT_Client.htm", NULL, NULL, 0);
}
else if(osvi.dwMinorVersion==0)
{//2000
ShellExecute(0, "open", "http://192.168.8.0/setup2k_client.htm", NULL, NULL, 0);
}
else if(osvi.dwMinorVersion==1)
{//xp
ShellExecute(0, "open", "http://192.168.8.0/SetupXP_Client.htm", NULL, NULL, 0);
}
else if(osvi.dwMinorVersion==0)
{//2003
ShellExecute(0, "open", "http://192.168.8.0/setup2k_client.htm", NULL, NULL, 0);
}
else
{//不知道啦
}
}
else
{//98,me
ShellExecute(0, "open", "http://192.168.8.0/Setup9x_Client.htm", NULL, NULL, 0);
}
}
DECLARE_REGISTRY_RESOURCEID(IDR_STOPHACKERA)
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(CStophackerA)
COM_INTERFACE_ENTRY(IStophackerA)
COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()
// IStophackerA
public:
STDMETHOD(get_sUrlERROR)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_sUrlERROR)(/*[in]*/ BSTR newVal);
STDMETHOD(get_sUrlOK)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_sUrlOK)(/*[in]*/ BSTR newVal);
};
#endif //__STOPHACKERA_H_
二、用VB新建一个简单的VBP工程文件为打包做好准备
再用Tools Package&Deployment把install.dll打包成Internet软件包install.cab文件。
三、打开VC++查找刚建的install.dll文件中的UUID及ID值更改刚才打包后的install.htm文件中相应的值。
四、各个操作系统的安装如Setup9x_Client.htm嵌入安装程序
五、保留
OK啦,想添加什么功能,慢慢想吧......
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者