我将制作一个桌面应用程序,它将在后台运行,意味着没有可见的窗口,我想要一个名为“上传文本”的选项,以在用户右键单击文件时显示。
有人能指出我正确的方向吗? 我也必须确定,如果有人想在任何时候卸载程序,那么shell修改也会被彻底清除。
该应用程序将运行Windows XP,Windows Vista和Windows 7.这些操作系统在处理我的shell困境方面有什么不同?
C#Windows窗体,不要在任务栏中显示表单,而是在显示的窗体聚焦时将其放在前面
如何从一个stream程实例创build多个networking名称空间
为什么在Ubuntu 14.10中需要按两次CTRL + D才能打开while((c = getchar())!= EOF)`?
为什么我不能声明一个结构已定义的variables?
睡在里面for循环
需要一些帮助#define
如何使用C在Windows中创build可中断的睡眠?
在C中的特定时间执行一个动作
这是一个外壳扩展。 你用C#标签标记了这个问题; 你应该知道, 强烈建议用托管语言编写外壳扩展 :
不幸的是,非托管C ++是真正的唯一途径。
在托管代码中编写进程外壳扩展实际上是非常危险的事情,因为它具有将托管代码(和.NET Framework)注入到具有文件打开对话框的机器上的每个应用程序的效果。
发生这些问题是因为在任何给定的时间只有一个版本的.NET Framework可以加载进程(其他共享组件如java和msxml具有相同的属性,因此具有相同的限制)。
如果使用2.0 .NET Framework编写外壳扩展,而使用1.1 .NET Framework构建的应用程序使用文件打开对话框,则外壳扩展将失败,因为它无法在早期版本上运行。 事情可以变得更糟,如果你的shell扩展管理在另一个应用程序托管代码之前加载进程:你的扩展可能会迫使一个现有的应用程序到一个不同的运行时版本比它所期望的,并导致它失败。
由于这些问题,我们强烈建议在进程外壳扩展中使用任何单实例进程运行时或库(例如.NET Framework,java或msxml)。
也就是说,人们已经做到了。
以下是使用C ++创建外壳扩展的指南 。
怎么样一个独立的程序使用SendTo?
将exe文件安装到“Program Files mycompany myprogram”,并将exe的快捷方式放到SendTo文件夹中。 然后,当用户右键单击一个文件,选择SendTo,然后选择您的程序,您的exe将由Windows执行,文件名的完整路径将通过argv [1]传入。 如果他们选择n个文件,他们将在argv [1] .. argv [n]中。
如果您希望程序不可见,则不要使默认窗体可见。 您可以选择在托盘中放置一个图标,以便用户可以双击它来查看上传进度。 当argv [1]的上传完成时,处理argv [2] … argv [n](如果它们存在并退出)。 要干净地卸载,从SendTo文件夹中删除您的程序和快捷方式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。