今天我尝试为gta sa编写一个简单的培训师。
该程序应定义玩家的位置
由于某些原因启动此程序后,我遇到了这样的错误:
public static void AddIfNotNullAndInAdvancedSearch(
this List<TreeDocument> docs,
TreeDocument value,
params SearchModel[] searchCriteria)
{
var filteredSearchCriteria = searchCriteria
.Where(x => x.SearchResult != "No Match" &&
x.SearchResult != "Empty")
.ToList();
if (filteredSearchCriteria.Any() &&
filteredSearchCriteria.All(x => x.SearchResult == "Match"))
{
docs.Add(value);
}
}
为什么会这样?
我做错了什么?
可能需要以root身份运行吗?或者我不明白......但错误仍然存在
完整代码:
System.ComponentModel.Win32Exception: "Access is denied"
你能帮助我吗?
P.S抱歉我的英文不好:D
答案 0 :(得分:0)
尝试使用以下内容(替换)在项目的属性下添加app.manifest:
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="<yourProjectName>" />
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
</requestedPrivileges>
<applicationRequestMinimum>
<defaultAssemblyRequest permissionSetReference="Custom" />
<PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
</applicationRequestMinimum>
</security>
</trustInfo>
</asmv1:assembly>
然后在项目属性中引用清单 - &gt;申请 - &gt;在图标下方并在清单文本框中显示:Properties \ app.manifest
通过这种方式,您的应用程序确实需要您拥有的最高权限。启动调试时,Visual Studio还会提示您以管理员身份重新启动以运行项目。
如果您仍然遇到此错误,则可能尝试写入受保护的内存。在其他进程内存中写入是一项艰巨的任务,可能会因安全原因而受到限制。