如何直接开启一个文件

Shell是用来执行外部的可执行文件
如果是一个文件,那要用ShellExecute来启动预设的程式来开启文件
'HINSTANCE ShellExecute(
' HWND   hwnd,     // handle to parent window
' LPCTSTR lpOperation, // pointer to string that specifies operation to perform
' LPCTSTR lpFile,    // pointer to filename string
' LPTSTR  lpParameters, // pointer to string that specifies executable-file parameters
' LPCTSTR lpDirectory, // pointer to string that specifies default directory
' INT   nShowCmd   // whether file is shown when opened
'  );
例:.doc 是由word或wordpad来开启
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
   (ByVal hwnd As Long, ByVal lpOperation As String, _
   ByVal lpFile As String, ByVal lpParameters As String, _
   ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_SHOW = 5
ret = ShellExecute(me.hWnd, "open" , "文件完整路径及名称","", "", SW_SHOW

事实上有一个更快的方式,便是使用Start指令,这个指令用法简单

eg. Start mydoc.doc

故,在vb中便是使用 Shell "start mydoc.doc"

如何查看某个文件是和谁相关联呢?例如:.txt是由哪个程式开启,

1.查[HKEY_CLASSES_ROOT\.txt]

取预设值,如本人电脑预设值为 "txtfile"

2.查[HKEY_CLASSES_ROOT\txtfile\shell\open\command]

取预设值,如本人电脑预设值为 "C:\WINDOWS\NOTEPAD.EXE %1"

如此可知.txt 是内定由NotePad.exe所执行。

注:若step 1.取得的预设值是 "xxxx",则step 2.便是查

[HKEY_CLASSES_ROOT\xxxx\shell\open\command]的预设值

时间: 2024-10-21 22:39:47

如何直接开启一个文件的相关文章

java-每上传一个文件,就开启一个线程,现在调用其他方法改变了该文件的某个属性,然后该线程死亡,该怎么实现?

问题描述 每上传一个文件,就开启一个线程,现在调用其他方法改变了该文件的某个属性,然后该线程死亡,该怎么实现? 关于线程了解的不多,吸纳成池,线程监控都不了解,该怎么做? 解决方案 可以学下juc包 解决方案二: 线程池, 利用资源

android 当在主线程里开启一个新线程 程序就崩溃

问题描述 android 当在主线程里开启一个新线程 程序就崩溃 我要实现的功能是检索SDcard里的所有txt文件我尝试过很多办法 1 不用线程 直接在主线程里检索文件 由于有循环且检索时间会超过5秒 导致黑屏然后提示未响应2 我建立一个线程让线程去检索文件当检索完毕后把检索到的文件传递给主类 主类再把检索到的文件显示在list上 但是当线程一启动程序就崩溃了3 最后我在主类里添加handler 当子线程检索完毕就sendmessage给主类 然后主类把子线程检索到的文件显示在list上但程序

Excel2010开启CSV文件乱码解决办法

  Excel2010开启CSV文件乱码解决办法           首先将乱码的CSV文件用记事本的方式打开,可以看到不乱码了,但是没有了格式.接着执行另存为新档,在对话框中将UTF-8的编码改成ANSI,存档之后重新用Excel打开,这是就可以看到CSV 已经不乱码了. 步骤 Excel2010 1.首先,将有乱码的 CSV 档透过记事本的方式开启. Excel2010 2.用记事本打开的 CSV 档,你会发现文字是正常的,但格式已经不敷存在,没关系,让我们按下档案中的另存新档. 3.在另存

【Android开发】线程与消息处理-开启一个新线程播放背景音乐

在本实例用,开启一个新的线程播放背景音乐,在音乐文件播放完毕后,暂停5秒后重新开始播放. 具体实现: 界面(只有一个"开始"按钮) res/layout/main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t

php一个文件搞定微信jssdk配置_php技巧

php一个文件搞定微信jssdk配置: 包括缓存,包括https通讯,获取微信access_token,签名什么的都有.但是防范性编程做得比较少,商业用的话,需要完善下代码. 使用姿势 ^ajax(Common.ServerUrl + "GetWX.php", { data: { Type: "config", url: location.href.split('#')[0] }, dataType: 'json', type: 'get', timeout: 50

PHP error_log()将错误信息写入一个文件(定义和用法)_php技巧

在php程序编写中,养成写入log文件的编程习惯,是一个很好的编程习惯,程序员都应该学会这种编程思想,不要太浮躁.前期编程的不严谨,往往会带来后期维护和调式的困难,付出的时间和精力将会更多.error_log() 是发送错误信息到某个地方的一个函数,在程序编程中比较常见,尤其是在程序调试阶段.本文将用实例讲解一下error_log()这个函数的用法,以及一些需要注意的问题. 复制代码 代码如下: <?php$str='这是条错误信息.';error_log($str,3,'errors.log'

c++-用C++读取文件中特定行的某几列数据并输出到另一个文件

问题描述 用C++读取文件中特定行的某几列数据并输出到另一个文件 AR ZIMM 2014 06 30 00 00 0.000000 2 2.175456910513e-08 1.929140019560e-11AR ZWE2 2014 06 30 00 00 0.000000 2 -6.930289135325e-03 2.317673679230e-11AS G01 2014 06 30 00 00 0.000000 2 1.652894267903e-05 1.737915981300e-

listctrl控件-ListCtrl控件为什么一次只能添加一个文件,而不能同时添加多个?

问题描述 ListCtrl控件为什么一次只能添加一个文件,而不能同时添加多个? 我用C++写的一个MFC基本对话框里引入了一个listctrl控件,但是添加文件的时候一次只能添加一个文件,求大神开导,这是为什么?代码如下:(在初始化函数中)m_control=static_cast(m_player.GetControls()); m_setting=m_player.GetSettings(); m_list=static_cast(m_player.GetCurrentPlaylist())

win8双系统怎么设置开机时只开启一个系统?

  win8双系统怎么设置开机时只开启一个系统?           具体方法如下: 1.选择我的电脑,右键-属性,进入页面; 2.选择左上角的高级系统设置; 3.在"高级"下选择三个设置中的最后一个; 4.然后把"显示操作系统列表的时间"的勾去掉,最后点击确定即可.