vb中使用shell命令通过TC打开现有.C文件无法写完整路径问题
在做作业的时候突然遇到了一个使用shell命令调用TC打开.C文件却无法写完整路径的问题,不知道哪位高人可以指点一二。
具体情况如下:
shell "c:\tc\tc.exe c:\exam\0511240202\blank.c ",4
当使用这条命令是无法打开blank.c的文件,打开的却是一个新建立的文件,如果把blank.c放到根目录或是TC的运行环境下,不写完整的目录就能用,这是为什么啊?
例如:shell "c:\tc\tc.exe blank.c ",4 或
shell "c:\tc\tc.exe d:\blank.c ",4
在这种情况下就可以打开了
现在我想做的操作就是想通过shell命令调用TC来打开c:\exam\0511240202\blank.c,有人可以给我一段详细的说明和代码么?
[解决办法]
shell 不能指定初始文件夹 ,所以要指定详细的打开路径
dos下不支持 超过8字节的文件(夹)名称,而0511240202超过了
Private 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
Private Sub Command1_Click()
sParam = "mouse.c " '打开的文件
sDir = "h:\c " '指定初始文件夹
ShellExecute 0, vbNullString, "h:\tc\bin\tc.exe ", sParam, sDir, 5
End Sub