Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在windows xp中替换mspaint.exe_C#_Windows_Io_Replace_Paint - Fatal编程技术网

C# 在windows xp中替换mspaint.exe

C# 在windows xp中替换mspaint.exe,c#,windows,io,replace,paint,C#,Windows,Io,Replace,Paint,我创建了一个自定义绘制程序,它真的很好,比Microsoft绘制更好,现在我正处于该程序的第二阶段,我想用我的自定义绘制应用程序替换位于C:\WINDOWS\system32\mspaint.exe中的旧mspaint.exe,我试着键入以下命令: System.IO.File.Copy(@"mspaint.exe", "C:\\WINDOWS\\system32\\mspaint.exe", true); 这并没有成功,我只是试着让我的自定义应用程序成为默认的绘画程序,但一旦我这么做了,旧的

我创建了一个自定义绘制程序,它真的很好,比Microsoft绘制更好,现在我正处于该程序的第二阶段,我想用我的自定义绘制应用程序替换位于C:\WINDOWS\system32\mspaint.exe中的旧mspaint.exe,我试着键入以下命令:

System.IO.File.Copy(@"mspaint.exe", "C:\\WINDOWS\\system32\\mspaint.exe", true);
这并没有成功,我只是试着让我的自定义应用程序成为默认的绘画程序,但一旦我这么做了,旧的mspaint会继续出现

编辑:我正在windows XP中尝试这样做

编辑2:我创建了一个注册表项:LOCAL\u MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\mspaint.exe,并创建了一个名为name:debugger的字符串值,并添加了字符串:C:\Windows\system32\mypaint.exe,每当我尝试打开任何图像时,都会收到错误消息:

Unable to find a version of the runtime to run this application
并且我的自定义程序无法打开。

也许您可以使用注册表将mspaint.exe调用转发到您的exe

为此:

  • HKEY\U LOCAL\U MACHINE\Software\Microsoft\Windows NT\currentversion\image file execution options
  • 将其命名为
    mspaint.exe
  • 添加名为
    debugger
    的字符串值,并将其值设置为exe文件

  • 呃。。。当用户启动、运行并键入“mspaint”(其中“ms”是MicroSoft的缩写)时,是否确实要启动绘图程序?或者,当用户双击图像文件时,您是否只想打开绘制程序?没有“默认”绘制程序。只需安装您的文件,并提供一种方法来更改正确类型(例如,bmp等)的文件关联。这是一种错误的方法,但Windows文件夹上的安全限制不允许您这样做。我尝试了该方法,创建了一个名为mspaint.exe的密钥,并在其中创建了一个字符串值:调试器,其值为:%systemroot%\system32\mspaint1.exe“%1”,但每当我在D:\中打开exmaple loacted的图像时,就会出现错误:windows找不到文件D:\image.png,请确保键入的名称正确,然后重试。@user1215216,我不确定是否需要添加“%1”。我认为发送到原始exe的参数会传递到新文件(不确定,但我记得是这样的).如果您只是尝试打开mspaint,它会启动您的exe吗?我删除了%1,但它仍然没有打开我的exe@user1215216,我也试过了,似乎环境变量在那里无法使用。当我将%systemroot%更改为c:\windows时,它开始工作了。哦,它工作了,非常感谢,我将它更改为c:\windows\system32\mypaint.exe