请问各位大虾
如何用程序代码使自己的可执行文件(.EXE)成为打开某种扩展名的文件的默认打开程序
好象双击*.txt直接用NOTEPAD.EXE打开
好象双击*.doc直接用word.EXE打开
好象双击*.mp3直接用winamp.EXE打开
即只需双击此类文件(扩展名相同)自动用自己的EXE打开
急,急,急
重酬,谢了

解决方案 »

  1.   

    不知道如何做,但是按照我下面的方法肯定能做出来
    1.备份注册表为reg文件
    2.shift+右键-》打开方式始终用次程序打开
    3.再备份注册表为reg文件
    4.比较两个注册表文件的不同,用系统自带的fc命令就可以,具体参数自己看,很简单
    5.找到了文件关联的注册表键值你就自己编程序修改吧。
      

  2.   

    忘了说了
    4.比较的时候要用重定向
    fc 文件1 文件2 >Result.txt
    如果不满意结果
    可以这样
    fc /?
    看看fc的帮助,试一下每一个参数,肯定能有适合你的。
      

  3.   

    var
      lphKey: HKEY;
      sKeyName, sKeyValue: String;
    begin
      sKeyName := 'xyz文件';
      sKeyValue := 'xyz文件类型';
      RegCreateKey(HKEY_CLASSES_ROOT, PChar(sKeyName), lphKey);
      RegSetValue(lphKey, '', REG_SZ, PChar(sKeyValue), Length(sKeyValue));
      sKeyName := '.xyz';
      sKeyValue := 'xyz文件';
      RegCreateKey(HKEY_CLASSES_ROOT, PChar(sKeyName), lphKey);
      RegSetValue(lphKey, '', REG_SZ, PChar(sKeyValue), Length(sKeyValue));
      sKeyName := 'xyz文件';
      sKeyValue := 'd:\winnt\NOTEPAD.EXE';  //这里应该是你的exe的路径
      RegCreateKey(HKEY_CLASSES_ROOT, PChar(sKeyName), lphKey);
      RegSetValue(lphKey, 'shell\open\command', REG_SZ, PChar(sKeyValue), Length(sKeyValue));
    end;—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  4.   

    整理一下可以是这样一个过程:
    procedure SetFileOpener(FileKind, FileDescription, FileExt, OpenerPath: String);
    var    //例如SetFileOpener('xyz文件', 'xyz文件类型', '.xyz', 'd:\winnt\NOTEPAD.EXE');
      lphKey: HKEY;
    begin
      RegCreateKey(HKEY_CLASSES_ROOT, PChar(FileKind), lphKey);
      RegSetValue(lphKey, '', REG_SZ, PChar(FileDescription), Length(FileDescription));
      RegCreateKey(HKEY_CLASSES_ROOT, PChar(FileKind), lphKey);
      RegSetValue(lphKey, 'shell\open\command', REG_SZ, PChar(OpenerPath), Length(OpenerPath));
      RegCreateKey(HKEY_CLASSES_ROOT, PChar(FileExt), lphKey);
      RegSetValue(lphKey, '', REG_SZ, PChar(FileKind), Length(FileKind));
    end;—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  5.   

    lw549(左看右看上看下看,原来每个帖子都不简单) 
    ???fc
    举个例子
      

  6.   

    想请问一下lxpbuaa(桂枝香在故国晚秋) 
    假如我编了一个记事本,名为:mynote.exe,现在你要求只要双击.txt文件,就用mynote.exe将其打开,
    我怎样在MYNOTE.EXE中获取文件的完全路径
    是自动获取吗?
    解答完就结!
      

  7.   

    或者说怎样把*.txt的内容load到mynote.exe的文本框(之类)中去?