开源API设置文件所有者
功能说明:该程序是一个运行在Windows平台上的图形化文件所有权修改工具,主要用于以管理员权限将指定文件的所有者更改为当前登录用户或自定义的用户账户(支持本地用户或域用户)。程序通过调用Windows底层API(如LookupAccountName、SetFileSecurity、AdjustTokenPrivileges等)实现对NTFS文件安全描述符中Owner字段的修改,需启用SE_TAKE_OWNERSHIP_NAME、SE_RESTORE_NAME等特权才能成功操作。界面包含:一个用于选择目标文件的按钮(“按钮1”)和对应的编辑框(“编辑框1”);一个可选的用户账户输入框(“编辑框2”),其启用状态由复选框(“选择框1”)控制——若未勾选,则自动使用当前登录用户SID作为新所有者;一个执行设置的确认按钮(“按钮2”)。程序启动时自动获取并显示当前登录用户名(通过WNetGetUser API),提升操作便捷性。所有关键系统调用均配有错误检测与友好提示(如“文件不存在!”“设置失败!”等),并辅以调试输出便于开发排查。整个逻辑围绕核心子程序changeFileOwnership展开,该函数封装了完整的SID解析、安全描述符初始化、所有权赋值及特权管理流程,体现了典型的Windows权限管理工具特征。因此,本程序本质是一个轻量级、免安装、面向系统管理员或高级用户的NTFS文件所有权批量/单文件设置辅助工具。
======窗口程序集_启动窗口
| |
| |------ _选择框1_被单击
| |
| |------ _按钮2_被单击
| |
| |------ _按钮1_被单击
| |
| |------ __启动窗口_创建完毕
| |
| |
======UTIL
| |
| |------ changeFileOwnership
| |
| |------ _enablePrivilege
| |
| |------ _disablePrivilege
| |
| |------ _modifyPrivilegeState
| |
| |------ _getLogonSID
| |
| |
======调用的Dll
| |
| |---[dll]------ API_GetCurrentProcess
| |
| |---[dll]------ API_GetFileSecurity
| |
| |---[dll]------ API_InitializeSecurityDescriptor
| |
| |---[dll]------ API_LookupAccountName
| |
| |---[dll]------ API_OpenProcessToken
| |
| |---[dll]------ API_SetFileSecurity
| |
| |---[dll]------ API_SetSecurityDescriptorOwner
| |
| |---[dll]------ API_LookupPrivilegeValue
| |
| |---[dll]------ API_AdjustTokenPrivileges
| |
| |---[dll]------ API_HeapAlloc
| |
| |---[dll]------ API_GetProcessHeap
| |
| |---[dll]------ API_GetTokenInformation
| |
| |---[dll]------ API_GetLengthSid
| |
| |---[dll]------ API_CopySid
| |
| |---[dll]------ API_RtlMoveMemory
| |
| |---[dll]------ API_HeapFree
| |
| |---[dll]------ API_CloseHandle
| |
| |---[dll]------ API_WNetGetUser
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。