返回首页

您好,
如何在C#中使用UpdateResource用P / Invoke的?
疗法是任何其他功能,允许在C#,像UpdateResource EXE文件更新?

我用google搜索,但我不能找到我想要什么?| chlebta |戴夫Kreskowiak:此功能需要其他功能夫妇为了工作返回的数据。它会更新的资源。EXE文件(有一些限制),但它不会更新。EXE文件的资源,目前正在执行。

所以,如果你正在寻找保存在自己的资源。EXE的数据,你不能这样做。

例如使用]。

签名的UpdateResource。

 [DllImport("kernel32.dll", SetLastError = true)]

        static extern bool UpdateResource(IntPtr hUpdate, string lpType, string lpName, ushort wLanguage,

            IntPtr lpData, uint cbData);

 

You might access this API like,

 

            IntPtr handleExe = BeginUpdateResource(exeFilePath, false);

            

            CultureInfo currentCulture = CultureInfo.CurrentCulture;

            int pid = ((ushort)currentCulture.LCID) & 0x3ff;

            int sid = ((ushort)currentCulture.LCID) >> 10;

            ushort languageID = (ushort)((((ushort)pid) << 10) | ((ushort)sid));

 

            GCHandle iconHandle = GCHandle.Alloc(resourceData, GCHandleType.Pinned);
  ;

然后你可以称之为UpdateResource通过发送这些参数。

如果你想知道每个参数的解释,你可能会看到{A}]

回答

评论会员: 时间:2