
两个函数,可实现你所说的功能,自己看吧:第五十八个ExitWindowsEx关机,重启,注销计算机函数这个函数只有两个参数,后一个参数为系统预留,填0就可以了,而第一个参数则,指明关机,还是重启,或注销,可选值如下:EWX_LOGOFF//注销 EWX_REBOOT//重启 NT系统中需SE_SHUTDOWN_NAME 特权 EWX_SHUTDOWN//关机,需权限。例子:关闭计算机,由于需要SE_SHUTDOWN_NAME权限,所以我们得先提升权限,代码如下:#include<windowsh>
int main()
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken);
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkpPrivileges[0]Luid);
tkpPrivilegeCount=1;
tkpPrivileges[0]Attributes=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0);
::ExitWindowsEx(EWX_SHUTDOWN,0);
return 0;
} 第六十九个RegisterHotKey注册一个热键函数定义:BOOL
RegisterHotKey(
HWND hWnd ,
int id,
UINT fsModifiers,
UINT vk);第一个参数hWnd表明热键消息(HOT_KEY)发送给哪个窗口,为NULL表明直接把消息投递给调用这个函数进程的消息队列。第二个参数可以自定取值,取值范围0xC000-0xFFFF,这个参数是为了程序能同时拥有多个热键而存在。第三个参数fsModifiers的可选取值如下:MOD_ALT(Alt键),MOD_CONTROL(Ctrl键),MOD_SHIFT(Shift键),MOD_WIN(‘田’图标键)
最一个参数是一个ASCII值,指明具体和哪个非系统键组合。
如QQ的热键ctrl+alt+z,注册这个热键的语句是RegisterHotKey(NULL,0x0001,MOD_CONTROL|MOD_ALT,‘Z’)
如QQ的截图热键 RegisterHotKey(NULL,0x0001,MOD_CONTROL|MOD_ALT,'A')例子:按下ctrl+alt+x热键,d出消息提示框,询问是否要退出。//#include "stdafxh" 新建空工程,不需要该头文件
#include<windowsh>
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
RegisterHotKey(NULL,0x0001,MOD_CONTROL|MOD_ALT,'X');//注册热键
MSG msg;
while(GetMessage(&msg,NULL,0,0))//从消息队伍获取消息
{
if(msgmessage==WM_HOTKEY)//热键消息
{
if(MessageBox(NULL,"你确定要退出程序吗?","热键提示",MB_YESNO|MB_SYSTEMMODAL)==IDYES)
{
UnregisterHotKey(NULL,0x0001);//卸载热键
break;
}
}
}
return 0;
}记得要退出程序
你新建一个MFC文档视图工程的话,它会自动生成一个从CView派生出来的类。比如你创建了一个工程名为my,它会派生出一个CmyWiew类。
在那个派生类的OnDraw(CDC pDC)函数中加入你的绘图代码就OK了,函数有一个参数pDC就是视图界面的设备环境句柄,不用你自己创建,调用pDC->MoveTo(x1,y1),然后再调用pDC->LineTo(x2,y2),这样就画了一条(x1,y1)到(x2,y2)的直线。
昨天跟你说的用CString 类型来写sql语句,假设的你在MFC下写的程序。
我看了下你的代码,貌似不是用的MFC。
你这个程序问题出在
#include "iostream"
#include "afxh"
这2个里好像有重复定义的东西。
那么改一下吧。
第1:
包含头文件里
#include "afxh" 去掉。
第2:
CString sql;
sqlFormat("SELECT FROM userinform where username='%s' and password='%s'",username,password);
m_pRecordset->Open((_bstr_t)sql,m_pConnectionGetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
改为
string sql;
_bstr_t bstSql;
sql="SELECT FROM userinform where username='"+username+"' and password='"+password+"'";
bstSql=sqlc_str();
m_pRecordset->Open(bstSql,m_pConnectionGetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdText);
你试下看看
以上就是关于MFC关机小程序全部的内容,包括:MFC关机小程序、求一个mfc的小程序 建立一个多文档的工程 然后用cdc随便在文档里画条线就可以了 该怎么做 我做l、有关MFC 能在VC++ 6.0运行的小程序 高手帮忙进来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)