1、获取当前系统时间:
[cpp] view plaincopy
-
SYSTEMTIME systime;
-
GetLocalTime(&systime);
-
char str_time_name[MAX_PATH];
-
-
sprintf(str_time_name,"%d-%d-%d %d:%d:%d.jpg",systime.wYear,systime.wMonth,systime.wDay,systime.wHour,systime.wMinute,systime.wSecond);
-
printf("%s",str_time_name);
2、读取文件大小,获取文件长度
[cpp] view plaincopy
-
UINT read_binary_size(TCHAR file_name[])
-
{
-
HANDLE hFile = CreateFile(file_name, GENERIC_READ , 0, NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
-
-
if (hFile==NULL||hFile==INVALID_HANDLE_VALUE)
-
{
-
return 0;
-
}
-
-
DWORD dwFileSize= 0;
-
-
dwFileSize=GetFileSize(hFile, NULL);
-
-
CloseHandle(hFile);
-
return dwFileSize;
-
}
3、设置字体颜色
[cpp] view plaincopy
-
#include <windows.h>
[cpp] view plaincopy
-
void setColor(unsigned short ForeColor=3,unsigned short BackGroundColor=0)
-
//给参数默认值
-
{
-
HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); //
-
SetConsoleTextAttribute(hCon,ForeColor|BackGroundColor);
-
}
-
void OutPutDebugInfo(char *s,int level=0)
-
{
-
-
switch (level)
-
{
-
case 0:
-
setColor(7,0);//白色
-
printf("%s",s);
-
break;
-
case 1:
-
setColor(FOREGROUND_GREEN,0);;//绿色
-
printf("%s",s);
-
break;
-
case 2:
-
setColor(6,0);//黄色
-
printf("%s",s);
-
break;
-
case 3:
-
setColor(FOREGROUND_RED,0);//红色
-
printf("%s",s);
-
break;
-
default:
-
setColor(7,0);//白色
-
printf("%s",s);
-
break;
-
-
}
-
}
4、字符串交换
[cpp] view plaincopy
-
#include <stdio.h>
-
#include <string.h>
-
#include <stdlib.h>
-
-
//字符串交换,string函数自动进行内存泄露管理,不用自己释放指针
-
void swap(char *p1,char *p2)
-
{
-
int max=sizeof(p1)>sizeof(p2)?sizeof(p1):sizeof(p2);
-
-
char *temp=(char*)malloc(sizeof(max));
-
strcpy(temp,p1);
-
strcpy(p1,p2);
-
strcpy(p2,temp);
-
}
-
void swap2(char *p1,char *p2)
-
{
-
char *temp=(char *)malloc(100);
-
temp=p1;
-
p1=p2;
-
p2=temp;
-
-
}
-
-
void main()
-
{
-
char pa[100]="123456789";
-
char pb[100]="abcdefghijkgsfsg";
-
printf("pa:%s\npb:%s\n",pa,pb);
-
swap(pa,pb);
-
printf("pa:%s\npb:%s\n",pa,pb);
-
-
}
5、MFC获取命令行参数
[cpp] view plaincopy
-
//获取命令行参数
-
//第一种方法
-
AfxMessageBox(::GetCommandLine());
-
//第二种方法
-
for(int i=0;i<__argc;i++)
-
{
-
-
AfxMessageBox(__argv[i]);
-
}
-
//第三种方法
-
AfxMessageBox(AfxGetApp()->m_lpCmdLine);
-
-
//其他方法 如果希望支持MFC应用程序的标准命令行,还可以使用MFC中的CCommandLineInfo类。
6、杀死进程API
[cpp] view plaincopy
-
DWORD dwProcID;
-
HANDLE hProcess;
-
HWND h =(HWND__ *) FindWindow(0, "无标题 - 记事本");
-
if (h==NULL) {
-
//ShowMessage("Not found.");
-
AfxMessageBox("not found!");
-
return;
-
}else{
-
AfxMessageBox("找到窗口,开始关闭它!");
-
}
-
GetWindowThreadProcessId(h, &dwProcID);
-
CString info;
-
info.Format("进程ID:%d",&dwProcID);
-
AfxMessageBox(info);
-
hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, dwProcID);
-
TerminateProcess(hProcess, 0);
7、百度查Ip归属地
[cpp] view plaincopy
-
//百度联网查IP归属地
-
void CBaiduIPDlg::OnOK()
-
{
-
CString m_ReturnStr="";
-
CString m_ip;
-
CString straddress("http://www.baidu.com/s?wd=");
-
GetDlgItem(IDC_EDIT1)->GetWindowText(m_ip);
-
straddress+=m_ip;
-
straddress+="&cl=3";
-
CInternetSession session;
-
CString strBody=_T("");
-
session.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT,1000*30); //连接超时设置
-
session.SetOption(INTERNET_OPTION_CONNECT_BACKOFF,1000); //在重试连接之间的等待的延时值在毫秒级
-
session.SetOption(INTERNET_OPTION_CONNECT_RETRIES,1);
-
CHttpFile* httpfile=NULL;
-
try
-
{
-
httpfile=(CHttpFile*)session.OpenURL(straddress,1,INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_RELOAD,NULL,0);
-
}
-
catch(CInternetException* m_pException)
-
{
-
httpfile=NULL;
-
m_pException->Delete();
-
AfxMessageBox(L"CInternetException");
-
return ;
-
}
-
char cBuf[4096]={0};
-
UINT nBuf;
-
if(httpfile)
-
{
-
while (nBuf = httpfile->Read(cBuf,4095))
-
{
-
cBuf[nBuf]=0;
-
strBody+=cBuf;
-
}
-
}
-
m_ReturnStr=strBody;
-
-
if (httpfile)
-
{
-
httpfile->Close();
-
delete httpfile;
-
}
-
session.Close();
-
//转换编码,
-
/*
-
CP_ACP:ANSI字符集;
-
CP_MACCP:Macintosh代码页;
-
CP_OEMCP:OEM代码页;
-
CP_SYMBOL:符号字符集(42);
-
CP_THREAD_ACP:当前线程ANSI代码页;
-
CP_UTF7:使用UTF-7转换;
-
CP_UTF8:使用UTF-8转换。
-
*/
-
m_ReturnStr = Convert(m_ReturnStr,CP_ACP,CP_UTF8);
-
MessageBox(m_ReturnStr,L"提示",0);
-
m_ReturnStr.Delete(0,m_ReturnStr.Find(L"来自")+6);
-
CString m_Dlwz=m_ReturnStr.Left(m_ReturnStr.Find(L" "));
-
MessageBox(m_Dlwz,L"Hello云守护");
-
}
8、复制
[cpp] view plaincopy
-
//复制
-
BOOL CBaiduIPDlg::CopyToClipBoard(CString data)
-
{
-
-
UpdateData(TRUE);
-
if(!OpenClipboard())
-
{
-
-
MessageBox(_T("剪贴板没有打开"),_T("提示"),MB_OK);
-
return FALSE;
-
-
}
-
EmptyClipboard();
-
USES_CONVERSION;
-
char * pGlobal;
-
HGLOBAL hGlobal; // 一个句柄,其实就是HANDLE
-
hGlobal = GlobalAlloc(GHND | GMEM_SHARE, (strlen(T2A(data))+1) * sizeof(TCHAR)); // 这个句柄,指向了一段内存
-
pGlobal = (char*)GlobalLock(hGlobal); // 把这段内存lock起来使用
-
-
strcpy(pGlobal, T2A(data)); // 复制cst到这段内存
-
GlobalUnlock(hGlobal); // unlock
-
SetClipboardData(CF_TEXT, hGlobal); // 直接把指向交给函数解决。
-
CloseClipboard();
-
MessageBox(_T("成功复制到剪贴板!"),_T("提示"),MB_OK);
-
return TRUE;
-
}
9、粘贴
[cpp] view plaincopy
-
//粘贴
-
BOOL CBaiduIPDlg::PasteFromClipBoard(CString* data)
-
{
-
CString fromClipboard;
-
if(!OpenClipboard())
-
{
-
-
MessageBox(_T("剪贴板没有打开"),_T("提示"),MB_OK);
-
return FALSE;
-
-
}
-
HANDLE hData = GetClipboardData(CF_TEXT);
-
char * buffer = (char*)GlobalLock(hData);
-
fromClipboard = buffer;
-
GlobalUnlock(hData);
-
CloseClipboard();
-
*data=fromClipboard;
-
return TRUE;
-
}
-
-
void CBaiduIPDlg::OnButton2()
-
{
-
CString data;
-
PasteFromClipBoard(&data);
-
AfxMessageBox(data);
-
GetDlgItem(IDC_EDIT1)->SetWindowText(data);
-
-
}
10、弹出对话框并定时关闭
1-》在classwizard中添加WM_TIMER消息,然后再添加一下代码
[cpp] view plaincopy
-
void CSampleInject::OnTimer(UINT nIDEvent)
-
-
// TODO: Add your message handler code here and/or call default
-
if (nIDEvent == 100)
-
{
-
KillTimer(nIDEvent);
-
keybd_event(VK_RETURN,0,0,0);
-
keybd_event(VK_RETURN,0,KEYEVENTF_KEYUP,0);//模拟 "回车 "命令
-
}
-
CDialog::OnTimer(nIDEvent);
-
}
在需要弹出对话框的地方:
SetTimer(100,1000,NULL);
AfxMessageBox(_T("正在进行绘图"));
这样,在弹出的对话框,一秒种后就关闭了。
http://blog.csdn.net/wangningyu/article/details/4798538#
11、调出关闭计算机对话框
[cpp] view plaincopy
-
typedef int (CALLBACK *SHUTDOWNDLG)(int); //显示关机对话框函数的指针
-
HINSTANCE hInstance=LoadLibrary("shell32.dll"); //载入shell32.dll
-
SHUTDOWNDLG ShutDownDialog; //指向shell32库中显示关机对话框函数的指针
-
if(hInstance!=NULL)
-
{
-