Tag: 进程

用相关应用程序打开文件

我想要求帮助打开从关联的应用程序的C#应用​​程序的文件。 我试过这个: ProcessStartInfo pi = new ProcessStartInfo(file); pi.Arguments = Path.GetFileName(file); pi.UseShellExecute = true; pi.WorkingDirectory = Path.GetDirectoryName(file); pi.FileName = file; pi.Verb = "OPEN"; Process.Start(pi); 或这个: Process.Start(file); 这两个示例中的stringfile都表示试图打开的文件的完整path。 现在,除了使用ACDSee应用程序的(jpg)图像以外,一切运行良好。 Irfanview协会运作良好,微软办公文件也是如此。 试图打开与acdsee相关联的jpg图像后,它只是运行通知区域中的acdsee,并不打开该文件。 我发现,在registryCLASSES_ROOT的* .jpg图像中,有一个ACDSee.JPG值作为关联的应用程序,在这个键的下方有一个shell- > Open-> Command一个path: "C:\Program Files\ACD Systems\ACDSee\ACDSee.exe" /dde 我觉得这个怪异/dde是原因,为什么我不能打开文件。 我意识到,在相同的registry键 – >打开有一些DDEExec键值input值[open("%1")] 对于Irfan查看或其他检查的应用程序没有一个ddeexec,只是正常的命令一样 "C:\Program Files (x86)\IrfanView\i_view32.exe" "%1" 可以从命令行运行%1换文件名后运行,但我不能从命令行中的acdsee条目运行命令:( 所以我的问题是,我怎样才能设置ProcessStartInfo对象,以确保它将运行所有的文件,因为它将在双击浏览器,标准和这DDEExec的? 有没有其他的东西像我知道的DDEExec ? 感谢和抱歉我的EN

如何在远程计算机上执行命令?

我有一个服务器上的共享文件夹,我需要远程执行一些文件的命令。 我怎么做? 需要在服务器上运行哪些服务才能使其工作? 一些细节:只能使用C#。 什么都不能安装在服务器上。

拦截正在运行的subprocess的stdout

如果这是我的subprocess: import time, sys for i in range(200): sys.stdout.write( 'reading %i\n'%i ) time.sleep(.02) 这是控制和修改子stream程输出的脚本: import subprocess, time, sys print 'starting' proc = subprocess.Popen( 'c:/test_apps/testcr.py', shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE ) print 'process created' while True: #next_line = proc.communicate()[0] next_line = proc.stdout.readline() if next_line == '' and proc.poll() != None: break sys.stdout.write(next_line) sys.stdout.flush() print 'done' 为什么readline和communicate等待进程完成运行? 有一个简单的方法来实时传递(和修改)subprocess的标准输出吗? 顺便说一句,我已经看到了这一点 […]

有没有办法在Python中更改有效的进程名称?

我可以更改Python脚本的有效进程名称吗? 当我得到系统进程列表时,我想显示一个不同的名称,而不是进程的真实名称。 在CI可以设置 strcpy(argv[0],"othername"); 但在Python中 argv[0] = "othername" 似乎没有工作。 当我得到进程列表(与我的Linux机箱中的ps ax )真实姓名不会改变。 如果存在的话,我更喜欢一个便携式解决scheme(或者一个解决scheme用于posix,另一个解决scheme用于windows环境)。 提前致谢

在Mac上查找(并终止)进程locking端口3000

如何find侦听/使用我的tcp端口的进程? 我在Mac OS X上。 有时,在崩溃或一些错误后,我的rails应用程序locking端口3000.我找不到它使用ps -ef …我怎么find愚蠢的东西,残酷地杀了它? 当做 rails server 我明白了 已经在使用的地址 – bind(2)(Errno :: EADDRINUSE) 2014年更新: 要完成下面的一些答案:执行kill命令后,删除pid文件可能是必要的rm ~/mypath/myrailsapp/tmp/pids/server.pid

Android的 – 如何通过使用PID获取processName或packageName?

我的问题:我可以使用什么来检索给定PID的某个进程的processName或packageName ? 由于在我的任务pipe理器中,我想在使用killBackgroundProcesses代码杀死进程的同时使用PID。 问题是我需要packageName / processName来做到这一点,如果我要求他们键入processName,而不是只inputPID,那对用户来说会是一个麻烦。 这里是我的任务pipe理器的形象:

如何从subprocess获取“实时”信息。python(2.5)

我想以下面的方式使用subprocess模块: 创build一个可能需要很长时间执行的新进程。 捕获stdout (或stderr ,或潜在的两个,一起或分开) 处理来自subprocess的数据,也许是在接收到的每一行上触发事件(在wxPython中说)或者直接打印出来。 我用Popen创build了进程,但是如果使用通讯(),那么一旦进程终止,数据就会一次全部到达我。 如果我创build一个单独的线程,执行阻塞readline() myprocess.stdout (使用stdout = subprocess.PIPE myprocess.stdout ),我也没有得到这个方法的任何行,直到进程终止。 (不pipe我设定为bufsize) 有没有办法处理这个不可怕的,并在多个平台上运行良好?

在进程中列出AppDomain

有没有可能如何枚举过程中的AppDomain?

使用Process.Start()从Windows服务中以不同的用户身份启动进程

我想定期从一个Windows服务指定的用户帐户运行一个任意的.NET EXE文件。 到目前为止,我已经得到了我的Windows服务与逻辑运行,以确定目标进程是什么,以及什么时候运行它。 目标进程以下列方式启动: Windows服务使用“pipe理员”凭据启动。 当时间到了,一个中间.NET进程被执行,参数详细说明哪个进程应该被启动(文件名,用户名,域名,密码)。 此进程创build一个新的System.Diagnostics.Process,将一个ProcessStartInfo对象与传递给它的参数进行关联,然后调用该进程对象上的Start()。 第一次发生这种情况时, 目标进程正常执行,然后正常closures 。 然而,随后的每一次,只要目标进程开始,它就会抛出错误“Application failed to initalize properly(0xc0000142)”。 重新启动Windows服务将允许进程再次成功运行(对于第一次执行)。 自然,目标是每次成功执行目标进程。 关于上面的步骤2:以不同的用户身份运行进程.NET调用win32函数CreateProcessWithLogonW。 此function需要一个窗口句柄才能login指定的用户。由于Windows服务未以交互模式运行,因此它没有窗口句柄。 这个中间过程解决了这个问题,因为它有一个窗口句柄可以传递给目标进程。 请不要使用psexec或Windows任务计划程序的build议。 我已经接受了我的生活,包括以上述方式解决问题。

当一个Timer事件引发时,Windows服务如何启动一个进程?

我创build了一个Windows服务与计时器和定时器的触发事件。我创build了一个进程( System.Diagnostics.Process.Start(exe path) ),间隔为5秒。 但是这个过程并没有在事件发生时被创build。 还有其他的方法吗? 提前致谢。 private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { Process pr = new Process(); pr.StartInfo.FileName = @"C:\Program Files\Messenger\msmsgs.exe"; pr.StartInfo.WindowStyle = ProcessWindowStyle.Normal; pr.StartInfo.CreateNoWindow = false; pr.Start(); }