c语言文件的权限怎么设置?

c语言文件的权限怎么设置?,第1张

0666:

第一个 0 表示这个数是 八进制

第一个 6 表示文件拥有者有读写权限,但没有执行权限

第二个 6 表示文件拥有者同组用户有读写权限,但没有执行权限

第三个 6 表示其它用户有读写权限,但没有执行权限

6 的 二进制就是 0110

第 1 位在权限中总是为 0

第 2 位为 0 表示文件不可以被读, 为 1 表示可以被读

第 3 位为 0 表示文件不可以被写, 为 1 表示可以被写

第 4 位为 0 表示文件不可以被执行, 为 1 表示可以被执行

emmm,我记得microsoft三件套就有这个特性

给一个从CSDN找到的代码

#include windows.h//这里自己加上括号

VOID ManagerRun(LPCSTR exe,LPCSTR param,INT nShow=SW_SHOW)

{ //注意:会跳出提示。

SHELLEXECUTEINFO ShExecInfo

ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO)

ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS

ShExecInfo.hwnd = NULL

ShExecInfo.lpVerb = "runas"

ShExecInfo.lpFile = exe

ShExecInfo.lpParameters = param

ShExecInfo.lpDirectory = NULL

ShExecInfo.nShow = nShow

ShExecInfo.hInstApp = NULL

BOOL ret = ShellExecuteEx(&ShExecInfo)

//等不及了,不等了。

CloseHandle(ShExecInfo.hProcess)

return

}

int main(int argc,char *argv[])

{

if(argc == 1) //初次运行,即双击EXE

{

ShowWindow(GetConsoleWindow(),SW_HIDE)

ManagerRun(argv[0],"2")

return 1

}else if(argc == 2) //再次运行,即上面那个ManagerRun

{

/*你的程序主代码在此*/

}

return 0

}

两种方法.

一种是修改最终编译的文件加上一个manifest文件,这样 *** 作系统启动程序的时候就会自动请求管理员权限

二个就是检测到当前没有管理员权限时,重新启动当前进程,启动的动词加上runas,这样 *** 作系统就会请求以管理员模式启动它了.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12013109.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存