关于ProcessStartInfo和Command

平头哥哥 2014-07-01 09:24:04
承接 上个 帖子
http://bbs.csdn.net/topics/390823730

@caozhy
http://caozhy
说道,

CreateProcess在vb.net下也可以用

http://social.msdn.microsoft.com/Forums/en-US/ffe29887-2a81-434d-ac0e-8cc2ca359824/createprocess-in-vbnet-for-calling-external-program?forum=netfx64bit

还要注意杀毒软件的阻止,以及x64系统下VB.NET程序要以32bit启动。

不过大部分情况下,ShellExecute这个API,以及Process类就可以了。
==========================================================
问题1:我设置的 的确是 X86,它依旧运行不起来。

问题2:
CreateProcess 可以用的话

被调用的exe又是如何 得到 调用函数 给其 传的参数呢

以及 在Process类中的Arguments属性赋值后,
如果另外的 exe 也是用 vb.net 写的话 的确可以直接用 Command命令 拿到 传过来的 参数
而很多调用的exe是用C C++ C# 编译生成的 exe 这些 又改 怎样获取 Command 命令 以及 通过什么方式获得Command值呢?
...全文
267 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
平头哥哥 2014-07-02
  • 打赏
  • 举报
回复
再挂 一天 准备 结贴 今天 不用 加班
平头哥哥 2014-07-02
  • 打赏
  • 举报
回复
引用 14 楼 layershow 的回复:
[quote=引用 12 楼 xxxxing 的回复:] [quote=引用 11 楼 caozhy 的回复:] 回答的是你第二个问题。 第一个问题,要看你的程序了。
我的第二个 问题: 在 C++中 没有 main 函数 只有 dialog 是 怎样 获取 上个 exe传给 它的 参数的呢? 都没有main 函数 那里的 main(char** args, int argc) [/quote] 我都哭了,回复了那么多你不知道我在说啥,伤心的走了[/quote] 这个 自然是 知道的 你的 回答 正确 就是 太晚 俺在你回答之前 就弄明白了 希望 以后 回复 能较快
平头哥哥 2014-07-02
  • 打赏
  • 举报
回复
引用 13 楼 caozhy 的回复:
C++怎么没有main函数呢。 mfc程序是AfxWinMain,ctrl+f 找下。
不是 MFC 程序 再者 我是以 main 为 关键字 搜索的
平头哥哥 2014-07-01
  • 打赏
  • 举报
回复
引用 4 楼 layershow 的回复:
Win32 用 GetCommandLine 和 CommandLineToArgv
刚 研究了下 其实 也没有那么复杂 在 vb.net中 Dim sInfo As New ProcessStartInfo sInfo.FileName = 要执行的 exe 程序 sInfo.Arguments = 我的参数 prc = Process.Start(sInfo) 而后在 int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) 函数中的 LPSTR lpCmdLine 这个参数 可以直接拿到 我的参数 自己研究 大多时候果然 更快。
layershow 2014-07-01
  • 打赏
  • 举报
回复
引用 12 楼 xxxxing 的回复:
[quote=引用 11 楼 caozhy 的回复:] 回答的是你第二个问题。 第一个问题,要看你的程序了。
我的第二个 问题: 在 C++中 没有 main 函数 只有 dialog 是 怎样 获取 上个 exe传给 它的 参数的呢? 都没有main 函数 那里的 main(char** args, int argc) [/quote] 我都哭了,回复了那么多你不知道我在说啥,伤心的走了
layershow 2014-07-01
  • 打赏
  • 举报
回复
Win32 用 GetCommandLine 和 CommandLineToArgv
threenewbee 2014-07-01
  • 打赏
  • 举报
回复
C++怎么没有main函数呢。 mfc程序是AfxWinMain,ctrl+f 找下。
平头哥哥 2014-07-01
  • 打赏
  • 举报
回复
引用 11 楼 caozhy 的回复:
回答的是你第二个问题。 第一个问题,要看你的程序了。
我的第二个 问题: 在 C++中 没有 main 函数 只有 dialog 是 怎样 获取 上个 exe传给 它的 参数的呢? 都没有main 函数 那里的 main(char** args, int argc)
threenewbee 2014-07-01
  • 打赏
  • 举报
回复
回答的是你第二个问题。 第一个问题,要看你的程序了。
平头哥哥 2014-07-01
  • 打赏
  • 举报
回复
引用 7 楼 layershow 的回复:
[quote=引用 6 楼 xxxxing 的回复:] 在 C++中 没有 main 函数 只有 dialog 是 怎样 获取 上个 exe传给 它的 参数的呢?
引用 4 楼 layershow 的回复:
Win32 用 GetCommandLine 和 CommandLineToArgv
[/quote] 回复 如此的晚 我都 完成了 嘎嘎嘎嘎嘎
平头哥哥 2014-07-01
  • 打赏
  • 举报
回复
引用 8 楼 caozhy 的回复:
C# main(string[] args) args就是参数 C++ main(char** args, int argc) args就是参数
这个 我知道 不知道 你 有没有 看清楚我的问题
平头哥哥 2014-07-01
  • 打赏
  • 举报
回复
引用 2 楼 layershow 的回复:
sth.exe /a /b /c C# 跟 VB.NET 也没啥区别了 C/C++ 的话就是这样的 int main(int argc, char *argv[]) { // argc 和 argv 就是那些参数们 return 0; }
c中 用的是 int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) WinMain这个函数,
layershow 2014-07-01
  • 打赏
  • 举报
回复
sth.exe /a /b /c C# 跟 VB.NET 也没啥区别了 C/C++ 的话就是这样的 int main(int argc, char *argv[]) { // argc 和 argv 就是那些参数们 return 0; }
平头哥哥 2014-07-01
  • 打赏
  • 举报
回复
望回复,蟹蟹!
threenewbee 2014-07-01
  • 打赏
  • 举报
回复
C# main(string[] args) args就是参数 C++ main(char** args, int argc) args就是参数
layershow 2014-07-01
  • 打赏
  • 举报
回复
引用 6 楼 xxxxing 的回复:
在 C++中 没有 main 函数 只有 dialog 是 怎样 获取 上个 exe传给 它的 参数的呢?
引用 4 楼 layershow 的回复:
Win32 用 GetCommandLine 和 CommandLineToArgv
平头哥哥 2014-07-01
  • 打赏
  • 举报
回复
在 C++中 没有 main 函数 只有 dialog 是 怎样 获取 上个 exe传给 它的 参数的呢?

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧