草庐IT

marshal_as

全部标签

c++ - 覆盖 "Run as Administrator"的 COM shell 扩展在开始菜单搜索中失败

我正在使用COM服务器DLL覆盖Windows10中的“以管理员身份运行”。我通过在Computer\HKEY_CLASSES_ROOT\exefile\shell\runas\command注册表上将DLLGUID设置为DelegateExecute来实现此目的key。我创建了32位和64位版本的CLSID条目(如InprocServer32)。这在大多数情况下工作正常。在资源管理器中右键单击exe文件并以管理员身份运行被委托(delegate)给DLL,如果安装程序试图以提升的权限启动,它会被委托(delegate)给DLL,右键单击开始菜单项被委托(delegate),等等。唯一

windows - EC2 Windows 用户数据 : Powershell does not run as expected

我正在尝试通过用户数据中的Powershell命令引导EC2Windows实例。我试图通过用户数据执行的步骤是:安装巧克力使用chocolatey安装Python使用chocolatey安装AWSCLI使用AWSCLI从S3下载Powershell脚本运行该Powershell脚本用户数据非常简单:Set-ExecutionPolicyBypass-Force;iex((New-ObjectSystem.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'));chocoinstallpython3-y;c

c# - 在结构中编码(marshal) IntPtr[] 会导致 midiStream 函数出现错误,但将数组展开到一堆字段是可行的

我正在尝试使用C#中的Windows多媒体MIDI函数。具体来说:MMRESULTmidiOutPrepareHeader(HMIDIOUThmo,LPMIDIHDRlpMidiOutHdr,UINTcbMidiOutHdr);MMRESULTmidiOutUnprepareHeader(HMIDIOUThmo,LPMIDIHDRlpMidiOutHdr,UINTcbMidiOutHdr);MMRESULTmidiStreamOut(HMIDISTRMhMidiStream,LPMIDIHDRlpMidiHdr,UINTcbMidiHdr);MMRESULTmidiStreamRest

windows - Jenkins Windows 从站 : Authentication failed if running as service

我有一个在Windows10(1607)上运行的Jenkins从站。如果我以JNLP的形式直接运行从站,这个从站可以从git存储库克隆(使用用户名和密码进行身份验证)。如果我启动同一个从服务器作为服务,gitclone会失败并显示Authenticationfailedfor...。该服务是通过从站的"file"菜单创建的,并作为“本地系统帐户”运行。出了什么问题?这是Jenins的输出:00:00:00.003Startedbyuser00:00:00.005ln-sbuilds/lastSuccessfulBuild/var/jenkins_home/jobs/Xamarin/jo

windows - 为 COM 接口(interface)启用编码(marshal)处理需要什么?

我有一个没有类型库的32位ATLCOM组件。它有一个类工厂,用于一个实现多个接口(interface)的给定类。当我将它用作进程内服务器时,一切正常-客户端调用CoCreateInstance(),对象被实例化,QueryInterface()检索指向所请求接口(interface)的指针。但是,当我将组件放入COM+时,我无法再实例化该类-CoCreateInstance()现在返回E_NOINTERFACE。我认为问题在于COM+无法执行编码(marshal)处理,因为缺少类型库-它不知道如何执行。我需要生成并注册一个类型库来解决这个问题还是有其他方法?

c# - 调用 Marshal.PtrToStructure 时出现 AccessViolationException

我通过调用Marshal.PtrToStructure(intPtr,typeof(Servent))得到一个AccessViolationExcpetion。任何想法我做错了什么?我在x64上试过这个。IntPtrintPtr=NativeMethods.GetServByName(name,"tcp");if(intPtr!=IntPtr.Zero){Serventservent=(Servent)Marshal.PtrToStructure(intPtr,typeof(Servent));result=System.Convert.ToInt32(IPAddress.Networ

c# - 在内存中操作文本文件的最佳方法 : read as byte[] first? 读取为 File.ReadAllText() 然后另存为二进制文件?

我需要更改内存中的文件,目前我使用文件流和二进制读取器将文件读入内存中的byte[]。我想知道更改内存中的文件、将byte[]转换为字符串、进行更改并执行Encoding.GetBytes()的最佳方法是什么?或者首先使用File.ReadAllText()然后使用Encoding.GetBytes()将文件作为字符串读取?或者任何方法都可以在没有警告的情况下起作用?有什么特别的方法吗?我需要用额外的字符或替换字符串替换文件中的特定文本,大约有100,000个文件。可靠性优于效率。文件是类似于HTML的文本,而不是二进制文件。 最佳答案

node.js - 为什么我的 'npm start' 脚本导致错误 : '.' is not recognized as an internal or external command, 可运行程序或批处理文件。?

Windows10Nodev8.1该项目的package.json文件由一个“脚本”对象组成,该对象包含一个“开始”脚本,该脚本尝试从“./node_modules/nodemon/bin/nodemon.js”加载nodemon.js,但我一直收到这个错误“。”不是内部或外部命令、可运行程序或批处理文件。我相信这与我的环境变量有关,但我仍然很困惑。我是否需要在我的PATH环境变量中添加到我项目的node_modules目录的路径?提前致谢。 最佳答案 够用了"start":"nodemon"当您运行npmscripts时,它会自动

windows - "Run as administrator"和带有 requireAdministrator 的 list 有什么区别?

我编写了一个包含requireAdministratorlist的程序。在启用了UAC的Windows7系统上,Windows会弹出一个对话框,询问权限,这是应该的。效果很好。如果用户通过右键单击我的程序并选择“以管理员身份运行”来启动我的程序,那么Windows7也会弹出一个对话框询问权限。但是,在我的程序的一些更深奥的部分中,我的程序的运行方式略有不同。那么“以管理员身份运行”和带有requireAdministrator的list之间有什么区别?任何指向描述差异的文档的链接都将不胜感激。编辑:这是启用了UAC。编辑:如下所promise的是对我所看到的差异的完整解释。我正在使用E

c# - 如何绕过 Marshal.Copy(32 位)长度限制?

我正在尝试在托管(C#)和非托管(C++Win32)代码之间来回移动数据。我可以使用Marshal.Copy它工作正常,直到数据集变大>2GB因为Marshal.Copy有一个带符号的32位int(2GB)长度限制。知道如何解决这个问题吗?目前,我在托管端使用AllocHGlobal(IntPtr),在非托管端使用.ToPointer()。如果我不能使用Marshal.Copy来回移动大数据(>2GB)我可以使用什么? 最佳答案 我的第一react是:为什么要复制2GB以上的数据?也许您的应用程序约束不允许这样做,但在我看来,如果您