sdk程序里面使用printf的问题

W1nds 2011-02-10 03:17:57
#include <tchar.h>
#include <stdio.h>
#include <Windows.h>

BOOL EnableShutDownPriv()
{
HANDLE hToken = NULL;
TOKEN_PRIVILEGES tkp = {0};
if ( !OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken ) ) {
return FALSE;
}
if ( !LookupPrivilegeValue( NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid ) ) CloseHandle( hToken );
return FALSE;
}
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

if ( !AdjustTokenPrivileges( hToken, FALSE, &tkp, sizeof(TOKEN_PRIVILEGES), NULL, NULL ) ) {
CloseHandle( hToken );
return FALSE;
}
return TRUE;
}
BOOL ReSetWindows(DWORD dwFlags, BOOL bForce){
//Check the param;
if ( dwFlags != EWX_LOGOFF && dwFlags != EWX_REBOOT && dwFlags != EWX_SHUTDOWN ) {
return FALSE;
}

//Get the os version;
OSVERSIONINFO osvi = {0};
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
if ( !GetVersionEx(&osvi) ) {
return FALSE;
}
if ( osvi.dwPlatformId == VER_PLATFORM_WIN32_NT ) {//在NT或是NT之上的系统需要权限的提升
EnableShutDownPriv();
}
dwFlags |= (bForce != FALSE) ? EWX_FORCE : EWX_FORCEIFHUNG;
return ExitWindowsEx(dwFlags, 0);
}

int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
if ( _tcscmp(lpCmdLine, _T("/r")) == 0 ) {
ReSetWindows(EWX_REBOOT, FALSE);
}else if ( _tcscmp(lpCmdLine, _T("/s")) == 0 ) {
ReSetWindows(EWX_SHUTDOWN, FALSE);
}else if ( _tcscmp(lpCmdLine, _T("/l")) == 0 ) {
ReSetWindows(EWX_LOGOFF, FALSE);
}else if ( _tcscmp(lpCmdLine, _T("/p")) == 0)
{
printf("test");
}
else printf("参数错误!\n/r:重新启动 \n/s:关机\n/l:注销");
return 0;
}
/p无反应
是否是SDK程序不能直接使用printf?
...全文
238 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zmkkobe 2011-05-04
  • 打赏
  • 举报
回复
我的也是,哎,不只是什么原因
梁诚斌 2011-02-10
  • 打赏
  • 举报
回复
else printf("参数错误!\n/r:重新启动 \n/s:关机\n/l:注销");
getchar();
Sleep(2000);
return 0;
试试行吗
昵称很不好取 2011-02-10
  • 打赏
  • 举报
回复
用AfxMessageBox吧

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧