VS2013添加自定义资源,在资源视图上点击右键,添加资源。

随便选一个,比如bitmap类型,并点击导入。

在打开的选择文件窗口选择“所有文件类型”

选择我们要导入的文件,并确定。
这时会弹出一个圣诞框,要求输入自定义类型名。输入名称后,自定义文件便被导入进来。
VS2013添加自定义资源,在资源视图上点击右键,添加资源。
随便选一个,比如bitmap类型,并点击导入。
在打开的选择文件窗口选择“所有文件类型”
选择我们要导入的文件,并确定。
这时会弹出一个圣诞框,要求输入自定义类型名。输入名称后,自定义文件便被导入进来。
今晚把ubuntu12.04升级到了14.04,重启后发现ubuntu引导不了,于是进入windows8.1,使用EasyBCD修复了ubuntu的引导。结果由于误操作,把两个引导选项全部弄成了ubuntu,所以,只能进ubuntu了,win8.1进不了了。
下面说一下解决办法:
问题解决。这里没有尝试PE系统是否可以支持USB的U盘。所以直接在ubuntu中把NTBOOTautofix_2.5.7放进去了。这是个好工具。
WIN32获取公网IP的代码:
Utility.h
#pragma once
class CUtility
{
public:
CUtility();
~CUtility();
public:
DWORD HttpGet( LPCTSTR lpszFullUrl, char *pBuffer, int iBufferSize);
void GetPublicIp( TCHAR *pIP, int len);
};
Utility.cpp
#include "stdafx.h"
#include "Utility.h"
#include "Transcode.h"
#include<wininet.h>
#pragma comment (lib ,"wininet.lib" )
CUtility::CUtility()
{
}
CUtility::~CUtility()
{
}
void CUtility ::GetPublicIp(TCHAR *pIP, int len)
{
char szBuffer[1024];
memset(szBuffer, 0, sizeof( char) * 1024);
HttpGet( _TEXT( "http://city.ip138.com/ip2city.asp" ), szBuffer, 1024);
char* begin = strstr(szBuffer, "[")+1;
char* end = strstr(begin, "]");
int offset = end - begin;
begin[offset] = '\0';
char *ip = begin;
std:: wstring wip;
Transcode::ANSI_to_Unicode(ip, offset, wip);
wcsncpy_s( pIP, len, wip.c_str(), offset);
}
DWORD CUtility ::HttpGet(LPCTSTR lpszFullUrl, char *pBuffer, int iBufferSize)
{
if ( lpszFullUrl == NULL )
return 0;
HINTERNET hNet = :: InternetOpen(_TEXT ("Mozilla/5.0 (Windows NT 6.3; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0"),
PRE_CONFIG_INTERNET_ACCESS,
NULL,
INTERNET_INVALID_PORT_NUMBER,
0);
if (hNet == NULL)
{
//TRACE(_T("error: InternetOpen发生异常. 错误代号: %s; 文件: %s; 行: %d/n"), ::GetLastError(), __FILE__, __LINE__);
return 0;
}
HINTERNET hUrlFile = :: InternetOpenUrl(hNet,
lpszFullUrl,
NULL,
0,
INTERNET_FLAG_RELOAD,
0);
if (!hUrlFile)
{
//TRACE(_T("error:InternetOpenUrl发生异常. 错误代号: %s; 您可能需要添加\"Http://\" 或 \"Ftp://\" 文件: %s; 行: %d/n"), ::GetLastError(), __FILE__, __LINE__);
return 0;
}
::memset( pBuffer, 0, iBufferSize);
DWORD dwBytesRead = 0;
char szTemp[1024] = { 0 };
DWORD dwTotalReadBytes = 0;
while (InternetReadFile(hUrlFile, szTemp, sizeof(szTemp) - 1, &dwBytesRead))
{
if (0 == dwBytesRead)
break;
szTemp[dwBytesRead] = 0; //此处非常重要,缺了这一句可能抓的内容就不正确
// 缓冲区大小不够时,停止向目的缓冲区复制数据,跳出
if (dwTotalReadBytes + dwBytesRead >= ( UINT) iBufferSize)
{
pBuffer[ iBufferSize - 1] = 0;
break;
}
strcat_s( pBuffer, 1024, szTemp);
ZeroMemory(szTemp, sizeof (szTemp));
dwTotalReadBytes += dwBytesRead;
}
::InternetCloseHandle(hUrlFile);
::InternetCloseHandle(hNet);
return dwTotalReadBytes;
}
VC 实现 Url 编码:(unicode版本)
CString UrlEncode(CString strUnicode )
{
LPCWSTR unicode = T2CW( strUnicode);
int len = WideCharToMultiByte( CP_UTF8, 0, unicode, -1, 0, 0, 0, 0);
if (!len)
return strUnicode;
char *utf8 = new char[len + 1];
char *utf8temp = utf8;
WideCharToMultiByte( CP_UTF8, 0, unicode, -1, utf8, len + 1, 0, 0);
utf8[len] = NULL;
CString strTemp, strEncodeData;
while (*utf8 != '\0')
{
strTemp.Format( _T( "%%%2x"), (BYTE )*utf8);
strEncodeData += strTemp;
++utf8;
}
delete[]utf8temp;
return CString(strEncodeData);
}
VC使用CURL静态库:
使用CURL静态库的时候,要在VS中预处理器中添加宏:CURL_STATICLIB
否则会报无法解析的xxx函数,即,未找到静态库里的函数。