Duilib 使用IE
C++
1.xml中配置<ActiveX name="ie" clsid="{8856F961-340A-11D0-A96B-00C04FD705A2}" delaycreate="false"/>
2.代码中实现:
CActiveXUI* pActiveXUI = static_cast<CActiveXUI*>(m_pm.FindControl(_T("ie")));
if( pActiveXUI )
{
IWebBrowser2* pWebBrowser = NULL;
pActiveXUI->GetCon... [阅读全文]
Win7程序提升权限
admin | C++ | 2013-08-23
在Windows Xp以及之前的Windows版本中,当具有管理员权限的账户登录后,创建一个安全令牌(security token),之后其他应用程序启动后将会具有这个令牌,继承管理员账户的高权限,从而更容易对系统造成破坏。于是在Windows vista之后的版本中进行了改动,具有管理员权限的用户登录之后,除了创建安全令牌之外,还会创建一个经过筛选的安全令牌(将只被授... [阅读全文]
让应用程序只启动一次
admin | C++ | 2013-08-23
在编写应用程序,有时候会有 让应用程序只启动一次的 要求。
一. 命名的内核对象
利用 内核中的命名对象 名称不能重复这一特性,来实现 应用程序的只启动一次的请求。
以Mutex为例,可以利用CreateMutex函数:
C++
HANDLE CreateMutex(
LPSECURITY_ATTRIBUTESlpMutexAttributes, // 指向安全属性的指针
BOOLbIniti... [阅读全文]
C++通过WMI修改IP,网关,DNS不重启(支持WIN7,VISTA)
以前也做过修改IP的方法,感觉都不是最完美的,我觉得最完美的方法就是WMI了,所有在上次封装的WMI类中再封装了一下,可以简单的修改IP,GATEWAY ,DNS。
主要在上一篇文章中的网卡类中添加了四个成员函数
HRESULT SetIPAddress(CComBSTR* pArraybstrIp,CComBSTR* pArraybstrMask,const int& arraryCount,LONG* plReturn = NULL)
HRESULT EnableDCPH(... [阅读全文]
Duilib编译成静态库
这套库做界面还是非常不错的,虽然官方团队开始了Lomox的研发,不再支持这套库了,但是它依然有它的价值。
感谢指正。
有很多人不知道如何编译成静态库,其实很简单的。
首先在vs中设置duilib项目。如图:配置类型改为静态库。
第二步修改UIlib.h头文件上面的宏。如图:
第三步在这个头文件下面添加内容:
#pragma comment(lib,”oledlg.libR... [阅读全文]
WebBrowser Control的一个简单C++封装
admin | win32 | 2013-08-22
想在自己的窗口中放上一个WebBrowser Contorl,但又不想用MFC;可惜网上除了MFC/ATL以外,使用WebBrowser的资料少得可怜。
在CodeGuru上找到Jeff Glatt 的一篇文章Display a Web Page in a Plain C Win32 Application,写成于2002年,作者的确够厚道,不但给了两份注释完整的代码(一个是exe的源文件,一个是Dll的源文件),还把如何用C一步一步实现虚... [阅读全文]
屏蔽掉”服务器正在运行中”要选择”切换到…”或”重试”的对话框
admin | C++ | 2013-08-22
对话框的OnInitDialog中
C++
AfxOleGetMessageFilter()->EnableBusyDialog(FALSE);
AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);
AfxOleGetMessageFilter()->EnableNotRespondingDialog(TRUE);
AfxOleGetMessageFilter()->SetMessagePendingDelay(-1);
1234
... [阅读全文]
创建 多级目录 Created Multiple Directory
admin | C++ | 2013-08-20
C++
#include <direct.h>
#include <vector>
#include <string>
using namespace std;
bool CreatedMultipleDirectory( char* direct)
{
string Directoryname = direct;
if ( Directoryname[Directoryname.length() - 1] != '//' && Directoryname[Directoryname.length() - 1] != ... [阅读全文]
curl_easy_perform 返回值说明
admin | C++ | 2013-08-19
response=curl_easy_perform(curl);
response返回的状态值
CURLE_OK: printf(“send ok!\n”);
CURLE_HTTP_POST_ERROR: printf(“post error!\n”);
CURLE_COULDNT_CONNECT: printf(“cannot connect to server\n”);
CURLE_OK = 0, 0: no error
CURLE_UNSUPPORTED_PROTOCOL, 1: unsupported protocol
CURLE_FAILED_INIT... [阅读全文]