process-C#从U盘调用其它程序运行 U盘不能弹出

问题描述

C#从U盘调用其它程序运行 U盘不能弹出

使用Process.Start();方法,被调用的程序如果在运行,则U盘不能弹出。

可是在U盘上的这个程序在调用完这个程序后,就把自己给结束了啊,现在在运行的是U盘之外的程序,为什么U盘不能弹出。 试了new Process()方法,之后给close掉,不行,销毁掉也不行,非得把调用的那个程序也结束了才可以。

我甚至给程序加入了自杀代码, 在启动完外部程序后就把自己给删了,结果这样都不可以把U盘弹出

求解

if (!File.Exists(copyExe))
{
try
{
File.Copy(path, copyExe, true);
File.Copy(path, getPath(), true);
}
catch
{}
Process.Start(copyExe);
killSelf();
Environment.Exit(0);
}

调用外部程序的代码如上,就是把复制的自身给运行起来,之后自杀,并且自杀是可以成功的。

解决方案

帖下代码呗?
按道理 close 应该就可以啦啊

时间: 2024-10-03 14:46:25

process-C#从U盘调用其它程序运行 U盘不能弹出的相关文章

单链表-新手菜鸟求教,程序运行到delete就弹出

问题描述 新手菜鸟求教,程序运行到delete就弹出 正在写删除链表中delete的部分,但是程序一运行到delete语句就弹出了,问下是为什么,有可能是什么原因造成的.在线等 解决方案 是不是pt已经不是最初的new时候的pt,这样delete就会报错 解决方案二: delete释放的是new开辟的空间,new是在堆(也叫自由存储区)上开辟空间,delete不能释放栈中空间,栈中空间由系统自动释放 解决方案三: delete语句是释放内存,你真正从链表中删除节点的代码在哪里? 其它节点/头指针

wpf使用代理服务器调用的谷歌地图,怎样不要弹出windows验证用户名、密码的对话框

问题描述 wpf程序,使用webBrowser控件,调用谷歌地图.公司使用的是代理模式上网,所以每次打开ie都会弹出一个输入用户名和密码的对话框,因为webBrowser加载的Html里,引用了GoogleMapsApi的Url,所以每次加载时候同样避免不了弹出对话框.问题:怎样用C#程序实现禁用这个对话框,用程序设置代理服务器的用户名,密码,实现连接谷歌地图.因为信息安全,公司代码贴不出来.多谢各位最好提供核心代码给予参照,多谢各位大侠. 解决方案

跟我学写后台程序---控制弹出窗口---用file access组件技巧实例

access|程序|弹出窗口|后台|技巧|控制 跟我学会用后台程序控制弹出窗口---用file access组件修改文件实例我们经常需要在首页上做一个弹出窗口(其实我很讨厌这个东东),一般的办法是在<body> 中加入这样一句 onLoad="Window.open('new-window.htm','','width=300,height=250')"  其中new-window.htm为新开的窗口网页文件名,后页是宽度和高度,但如果是一会要这个窗口,一会又不要,并且常改

Win7下载程序完成后如何不弹出提示框

  1.首先打开ie浏览器,然后单击菜单栏上上方的"工具-Internet选项"项; 2.在打开的Internet属性窗口中,切换到"高级"选项卡,在设置框勾选"下载完成后发出通知"项,点击确定按钮退出即可; 3.或者直接单击"还原高级设置"按钮也行,点击确定按钮退出就可以了哦.

金山快盘的Git服务器、快盘+ Git GUI 实现代码版本管理

  Git,这货堪称神器,用了它就再也不想用其他VCS了,就像上了高速就不想再走国道一样. Git的强大之处在于,你可以在局域网内的任何一个共享路径下创建仓库,而不需要运行任何服务.所有的操作都是基于本地的.这也不难理解可以直接放在快盘里了. 一般的大些公司都有自已的版本管理服务器,远程时 登录VPN也可以实现操,但是几人的小团队就不太现实了,基本没有VPN,如果是几个异地朋友想凑在一起创业,就 只能买台服务器做版本管理服务器,这个第一想到成本,对于几个人来说一台服务器一年的成本也不是小数,还

解决Java调用BAT批处理不弹出cmd窗口的方法分析_java

常规调用方式:(这个肯定会弹出cmd窗口) 复制代码 代码如下: Runtime.getRuntime().exec("cmd.exe   /C   start   D:\\test.bat"); 解决不弹框只需要"start"后面加一个参数"/b"就行: 复制代码 代码如下: Runtime.getRuntime().exec("cmd.exe   /C   start   /b   D:\\test.bat"); 复制代码

Win8如何在弹出窗口阻止程序设置例外站点

  Win8在弹出窗口阻止程序设置例外站点的方法如下: 1.如果有显示命令栏,可直接点击"工具"按钮,将鼠标指针移动到"弹出窗口阻止程序"上,点击"弹出窗口阻止程序设置". 2.在"要允许的网站地址"中输入网址,点击"添加",添加后会在"允许的站点"列表中显示. 3.如果没有显示命令栏,可点击IE右上角"工具"按钮图标,选择"Internet 选项"

VMware 中如何打开U盘弹出U盘或者移动硬盘的(两种方法)

1.U盘如下,插入后都是直接在win里面显示的 2.选择连接u盘 3.u盘就可以在虚拟机里面显示了 4.弹出则选择断开连接 扩展:如果无效:请参考这种方法 (给虚拟机分配一个临时硬盘,然后设置这个临时硬盘的路径为U盘或者移动硬盘,具体参考这篇文章:http://www.cnblogs.com/dunitian/p/4707828.html)

c# winform-VS2013下C#程序运行第一次错误,第二次正常

问题描述 VS2013下C#程序运行第一次错误,第二次正常 编译成功后的程序,第一次启动时会弹出窗口"The operation could not be completed.另一个程序正在使用此文件,进程无法访问."点击确定关闭弹出窗口后,再次点击vs的启动,就可以正常运行程序.这是什么错误,是什么原因造成的?谢谢! 解决方案 你再试试看第三次第四次呢?重启再试试呢. The operation could not be completed.这个提示和你的程序无关,这是VS的提示.