{-------------------------------------------------------------------------------
 @过程名:  slpert -> TFm_main.SetAssociatedExec
 @作者:   Gavin
 @日期:   2004.09.08
 @功能描述:
 @参数:   FileExt, Filetype, FileDescription, MIMEType, ExecName: string
 @返回值:  Boolean
-------------------------------------------------------------------------------}
Function TFm_main.SetAssociatedExec(FileExt, Filetype, FileDescription,
 MIMEType, ExecName: String): Boolean; {修改成功,返回True,否则False}
Var
 Reg: TRegistry;
 ShFileInfo: TSHFILEINFO;
 IconIndex: integer;
Begin
 Result := False; {}
 // ShGetFileInfo(Pchar(ExecName), 0, SHFileInfo,SizeOf(SHFileInfo), SHGFI_LARGEICON or SHGFI_SYSICONINDEX or SHGFI_TYPENAME or SHGFI_SMALLICON);
  //IconIndex:=SHFileInfo.iIcon;
  //showmessage(inttostr(iconIndex));
 If (FileExt = '') Or (ExecName = '') Then
  Exit; {如果文件类型为空或者没有定义执行程序就退出,FileExt必须带″.″,如.BMP}
 Reg := TRegistry.Create;
 Try
  Reg.RootKey := HKey_Classes_Root;
  If Not Reg.OpenKey(FileExt, True) Then
   Exit; {当不能正确找到或创建FileExt键时退出,这种情况一般是注册表有错误,以下同}
  Reg.WriteString('', FileType);
  If MIMEType <> '' Then
  Begin
   Reg.WriteString('Content Type', MIMEType);
  End;
  Reg.CloseKey;
  If Not Reg.OpenKey(FileType, True) Then
   Exit;
  Reg.WriteString('', FileDescription);
  If Not Reg.OpenKey('shell\open\command', True) Then
   Exit;
  Reg.WriteString('', ExecName + ' "%1"');
  {执行程序一般都有参数,例如WinZip的“winzip32.exe ″%1″”,″%1″参数指ZIP文件的文件名。因此ExecName应视情况加入参数}
  Reg.CloseKey;
  If Not Reg.OpenKey(FileType + '\DefaultIcon', True) Then
   Exit;
  Reg.WriteString('',ExecName+' ,1');  ///ExtractFilePath(
  Reg.CloseKey;
  Result := true;
 Finally
  Reg.Free;
 End;
End;

最新文章

  1. Mysql - 性能优化之子查询
  2. 【面试题】D
  3. jsp xml servlet
  4. SQL: enable sa Account in SQL Server
  5. react编译器jsxTransformer,babel
  6. cdoj 25 点球大战(penalty) 模拟题
  7. C#当中的多线程_线程池
  8. android 56
  9. storyBoard使用介绍
  10. Java并发编程:并发容器ConcurrentHashMap
  11. CentOS下安装JDK6u21和设置环境变量bin文件
  12. C# Linq Group By 多个字段并返回给实体类List
  13. hadoop(一)之初识大数据与Hadoop
  14. python之在线平台与量化投资
  15. 51nod-1445-变色DNA(最短路)
  16. 版本适配 sdk version MD
  17. JS原生实现视频弹幕Demo(仿)
  18. PKM(个人知识管理)类软件收集(偶尔更新列表)
  19. 关于opencv中的颜色模型转换之CV_BGR2HSV
  20. Spring Cloud内置的Zuul过滤器详解

热门文章

  1. nodejs 操作mysql
  2. Dire Wolf ---hdu5115(区间dp)
  3. 读取redis中的数据时出现:MISCONF Redis is configured to save RDB snapshots
  4. MyBatis学习总结_15_定制Mybatis自动代码生成的maven插件
  5. C++调用python
  6. git使用(一)
  7. 操刀 requirejs,自己动手写一个
  8. ILog JRules 标识符 X 未定义
  9. BZOJ 2743 采花(树状数组)
  10. 《OD学hadoop》Linux基础