以标准用户身份运行命令createfile win32

时间:2019-06-01 13:52:05

标签: delphi winapi

我需要运行此命令

hDevice := CreateFile( '\\.\PhysicalDrive0:', GENERIC_READ or GENERIC_WRITE ,
        FILE_SHARE_READ or FILE_SHARE_WRITE , nil, OPEN_EXISTING, 0, 0 );
在应用程序中以

作为标准用户。此命令以管理员身份运行该应用程序。

1 个答案:

答案 0 :(得分:-2)

问题尚不清楚,听起来好像您想在应用程序已经以管理员身份运行时以标准用户身份运行命令。

为此,您需要在挂起模式下创建线程,然后设置线程令牌,然后继续。

CreateThread(...CREATE_SUSPENDED...)
SetThreadToken(...)
ResumeThread()

有几种获取线程令牌的方法,但一种可能是获取DuplicateToken,然后删除管理员sid和特权。