您的位置:首页 > 其它

获取指定类型文件的缺省系统关联

2008-08-04 08:31 274 查看
有时我们需要检查指定类型的文件是否存在缺省的程序可用来打开它,例如,如果我们要显示一个 .DOC 文件,首先我们要检查当前系统中是否安装了合适的程序可以打开它,下面的函数可以完成此功能:

m.cType = 'xls'

m.cExeFile = SysDefaultOpenedBy( m.cType )

IF EMPTY( m.cExeFile )

MESSAGEBOX( '没有找到缺省的程序来打开 ' + m.cType + ' 类型的文件' )

ELSE

MESSAGEBOX( m.cType + ' 类型的文件可以使用下面的程序来打开' ;

+ 0h0d0a0d0a + m.cExeFile )

ENDIF

FUNCTION SysDefaultOpenedBy( tcTypeName )

LOCAL cTestFile, cExeFile

DO WHILE .T.

m.cTestFile = FORCEEXT( SYS(2015), m.tcTypeName )

IF !FILE( m.cTestFile )

EXIT

ENDIF

ENDDO

STRTOFILE( 'Test', m.cTestFile )

DECLARE Long FindExecutable IN shell32 ;

String lpFile, String lpDirectory, String @ lpResult

m.cExeFile = REPLICATE(CHR(0), 260 )

IF ( FindExecutable( m.cTestFile, NULL, @ m.cExeFile ) > 32 )

m.cExeFile = RTRIM( m.cExeFile, CHR(0))

ELSE

m.cExeFile = ''

ENDIF

ERASE ( m.cTestFile )

RETURN m.cExeFile

ENDFUNC
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐