生成exe不继承权限

发布于 12-04 11:17 字数 356 浏览 1 评论 0原文

我有一个 exe (test.exe),它是用 c++ (unicode 字符集)编写的 32 位。该exe将执行恢复操作。步骤包括:

  1. 检查outlook安装并加载msmapi32.dll
  2. 在指定用户的收件箱中创建子文件夹。
  3. 将 eml 文件导入到子文件夹中。

这些操作是使用具有完全访问权限的临时用户完成的。

这个exe执行得很好。问题是,当我尝试使用 C# Process.start() 生成此 exe 时,它​​在调用“createstoreentryid”时失败并显示 [MAPI_E_FAILONEPROVIDER]

有什么建议请。

I have an exe (test.exe) which is a 32 bit written in c++ (unicode charset). This exe will perform the restore operation. The steps include:

  1. check outlook installation and load msmapi32.dll
  2. create a subfolder in inbox of the specified user.
  3. importing eml file into the subfolder.

These operations are done using temporary user who has given full access permission.

This exe is executing fine. The issue is when I try to spawn this exe using C# Process.start(), it fails with [MAPI_E_FAILONEPROVIDER] while calling "createstoreentryid".

Any suggestions please.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

々眼睛长脚气2024-12-11 11:17:58
       using (UNCAccessWithCredentials unc = new UNCAccessWithCredentials())
        {
            if (unc.NetUseWithCredentials(path,
                                          userName,
                                          domain,
                                          passWord,textFile))
            {
                System.Diagnostics.Process.Start(path);
            }

        }
       using (UNCAccessWithCredentials unc = new UNCAccessWithCredentials())
        {
            if (unc.NetUseWithCredentials(path,
                                          userName,
                                          domain,
                                          passWord,textFile))
            {
                System.Diagnostics.Process.Start(path);
            }

        }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文