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一步一步实现虚... [阅读全文]
CString to wchar_t* to char*
admin | win32 | 2013-08-15
C++
CString str;
UpdateData(true);
str = "EditTEXT文本";
//EditTEXT.GetWindowText(str1);
int strLength = str.GetLength() ;
//CString to wchar_t*
wchar_t *wCharString =new wchar_t(strLength +1);
wmemset(wCharString,'\0',sizeof(wCharString));
wCharString = str.GetBuffer(str.GetLength());
str.R... [阅读全文]
win32 使用 SetTimer
admin | win32 | 2013-08-12
C++
#include <windows.h>
#include<iostream>
using namespace std;
void CALLBACK TimerProc(HWND hWnd, UINT nMsg, UINT nIDEvent, DWORD dwTime)
{
cout<<"这里就是原来的ONTIMER函数"<<dwTime<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
SetTimer(NULL, 1, 1000, T... [阅读全文]
boost::signals, libsig++, Qt/signal/slot
admin | win32 | 2013-08-05
C++
这三个库都实现了信号与插槽的概念,其中Qt的signal/slot机制最为完善。
libsig++被应用于基于Gtk+的gtkmm中,boost::signals很多的借鉴了libsig++的思想。
在boost::signals中,里面是用boost::function对象记录slot的,如果是实现一对一的"回调",则还是直接使用boost:function快,如果是一对多(一个signal对应多个s... [阅读全文]
wchar_t* To std::string
admin | win32 | 2013-07-18
C++
bool wcharToString(IN wchar_t* wText, OUT string& str)
{
//WideCharToMultiByte的运用
DWORD dwNum = WideCharToMultiByte(CP_OEMCP,NULL,wText,-1,NULL,0,NULL,FALSE);
//psText为char*的临时数组,作为赋值给std::string的中间变量
char *psText;
psText = new char[dwNum];
// WideCharToMultiB... [阅读全文]
C++ 判断网络是否通畅
admin | win32 | 2013-07-13
C++
//InternetCheckConnection 有时不准确
//http://bbs.csdn.net/topics/90171586
#include "stdafx.h"
#include <Windows.h>
#include <Wininet.h>
#include <atlstr.h>
#pragma comment(lib,"Wininet")
//检查网络是否通畅
bool CheckNet(CString& url)
{
HINTERNET hSession, hFile, hR... [阅读全文]
实现查询回收站信息以及清空回收站
admin | win32 | 2013-07-11
C++
#include <stdio.h>
#include <windows.h>
#include <shellapi.h> //SHEmptyRecycleBin和SHQueryRecycleBin所需要的头文件
int main(int argc, char* argv[])
{
//初始化SHQUERYRBINFO结构
SHQUERYRBINFO RecycleBinInformation;
ZeroMemory(&RecycleBinInformation,sizeof(RecycleBinInfo... [阅读全文]
封装GetLastError,输出错误信息
admin | win32 | 2013-07-11
C++
/************************************************************************/
/*函数名:ShowLastError
/*功 能:封装GetLastError,输出错误信息
/*返回值:无
/************************************************************************/
void Utility::ShowLastError(
LPTSTR lpszFunction//自定义信... [阅读全文]
得到一个GUID字符串
admin | win32 | 2013-07-11
C++
CString rString;
GUID m_guid;
::CoCreateGuid(&m_guid);
CString strFormat =CString("{%08lX-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X}");
rString.Format(strFormat,m_guid.Data1, m_guid.Data2, m_guid.Data3,
m_guid.Data4[0], m_guid.Data4[1], m_guid.Data4[2], m_guid.Data4[3],
m_guid.Data4[4... [阅读全文]
通过启动一个进程,并等待其结束
admin | win32 | 2013-07-11
C++
//通过启动一个进程,并等待其结束
int ExecuteAndWaitForCompletion(CString strcmd,bool show)
{
STARTUPINFO si;
ZeroMemory( &si, sizeof(si) );
si.cb=sizeof(STARTUPINFO);
si.dwFlags=STARTF_USESHOWWINDOW;//使用wShowWindow
if(show)
{
si.wShowWindow=SW_SHOW;//... [阅读全文]