VC6下采用ShellExecuteEx提升管理员权限
来源:互联网 发布:罗振宇说人工智能 编辑:程序博客网 时间:2024/06/08 08:23
bool IsOsVersionVistaOrGreater(){ OSVERSIONINFOEX ovex; CHAR szVersionInfo[1024]; *szVersionInfo = '\x00'; //设置参数的大小,调用并判断是否成功 ovex.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); if( !GetVersionEx( (LPOSVERSIONINFO) (&ovex) ) ) { return false; } //通过版本号,判断是否是vista及之后版本 if(ovex.dwMajorVersion > 5) { return true; } else { return false; }}//检查并根据系统版本选择打开程序方式void ShellExecuteExOpen(CString appName, CString appPath, CString strParameter){ if(IsOsVersionVistaOrGreater()) { SHELLEXECUTEINFO sei={sizeof(SHELLEXECUTEINFO)}; sei.fMask = SEE_MASK_NOCLOSEPROCESS; sei.lpVerb = _T("runas"); sei.lpFile = appName; sei.lpDirectory = appPath;sei.lpParameters = strParameter; sei.nShow = SW_SHOWNORMAL; if(!ShellExecuteEx(&sei)) { DWORD dwStatus=GetLastError(); if(dwStatus==ERROR_CANCELLED) {AfxMessageBox(_T("提升权限被用户拒绝")); } else if(dwStatus==ERROR_FILE_NOT_FOUND) {AfxMessageBox(_T("所要执行的文件没有找到")); }else{AfxMessageBox(_T("执行成功"));} } } else { appPath.Replace(L"\\",L"\\\\"); ShellExecute(NULL, _T("open"), appName, strParameter, appPath, SW_SHOWNORMAL); }}
参考
- 程序调用ShellExecuteEx打开其他程序(兼容UAC获取管理员权限)
- VS2010与Win7共舞:UAC与数据重定向
- c++获取操作系统的版本(vs2013)
- 利用ShellExecuteEx手动提升用户特权,以管理员权限来运行程序
- MFC编程:Win7下支持弹出UAC对话框获取管理员权限
- VC程序提升管理员权限
- VS为VC++添加UAC控制(VC程序默认管理员运行)
0 0
- VC6下采用ShellExecuteEx提升管理员权限
- ShellExecuteEX编程 --- 获取管理员权限
- 利用ShellExecuteEx手动提升用户特权,以管理员权限来运行程序。win7会有UAC弹窗
- VC6程序要求提升管理员权限,转移到VS2010出错
- 提升管理员权限
- ShellExecuteEx提升子进程权限
- win7下的UAC机制与提升管理员权限
- win7 8 下进入要提升权限 管理员权限
- MFC管理员权限(UAC下的程序权限提升)
- MFC管理员权限(UAC下的程序权限提升)
- MFC管理员权限(UAC下的程序权限提升)
- VC程序提升管理员权限
- VC++程序提升管理员权限
- 命令行自动提升管理员权限
- VC程序提升管理员权限
- VC程序提升管理员权限
- 提升管理员权限:启动脚本法
- 提升管理员权限:启动脚本法
- 跳槽
- python之entry points
- js 限制只能输入数字和一个小数,且第一位不能为小数
- 写给自己的 也希望看到的各位,跟我说说,我应该怎样选择
- 解决上传错误ERROR ITMS-90186和ERROR ITMS-90062
- VC6下采用ShellExecuteEx提升管理员权限
- 开发一个c++后台程序的大概步骤
- hdu5464(Clarke and problem)
- access xenserver outside of localhost
- Leetcode74: Best Time to Buy and Sell Stock III
- MongoDB运行状态、性能监控,分析
- Remove Linked List Elements 删除链表中指定元素
- <转>主流蓝牙BLE控制芯片详解(4):Nordic nRF51822
- 修练8年C++面向对象程序设计之体会