vb.net2015 调用外部exe程序,如何让该程序后台运行

p_flag 2020-08-22 03:17:06
vb.net2015 调用外部exe程序,如何让该程序后台运行,要打开的exe也是用vb.net2015写的
如果不能这么操作是否有办法可以修改要exe的程序,让它打开就后台运行
...全文
26052 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
良朋 2020-09-02
  • 打赏
  • 举报
回复
引用 2 楼 p_flag 的回复:
是有界面的,应该如何实现呢,效果(和主程序一起启动,在后台运行,主程序有个按钮,可以随时查看这个后台程序画面,查看完再点一个按钮,让其继续后台运行)
让它一启动就最小化到托盘,点击托盘图标,再让它正常化。

    '最小化可替代
    Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
        '最小化时显示托盘图标
        If Me.WindowState = FormWindowState.Minimized Then
            Call hideForm_and_showNotifyIcon()
        End If
    End Sub

    '单击图标的时候,如果已经隐藏,则显示form,如果显示状态,则最小化
    Private Sub NotifyIcon1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles NotifyIcon1.Click
        With Me
            If .Visible = True Then
                Call hideForm_and_showNotifyIcon()
            Else
                Call showForm_and_hideNotifyIcon()
            End If
        End With
    End Sub
    Private Sub showForm_and_hideNotifyIcon()
        With Me
            .Visible = True                         '显示form
            .ShowInTaskbar = True                   '在任务栏显示
            '.NotifyIcon1.Visible = False            '将托盘图标取消,可选项
            .WindowState = FormWindowState.Normal   '因为之前最小化了,现在要恢复为常规窗体显示
            '显示窗体时置顶,但不需要一直置顶,所以再设置false
            .TopMost = True
            .TopMost = False
        End With
    '隐藏form,并在托盘显示图标(Notifyicon的图标必须先设置好)
    Private Sub hideForm_and_showNotifyIcon()
        With Me
            .Visible = False            '隐藏form
            .ShowInTaskbar = False      '不在任务栏显示
            .NotifyIcon1.Visible = True '显示托盘图标
        End With
    End Sub
p_flag 2020-08-28
  • 打赏
  • 举报
回复
这个能后台打开,那么我通过什么函数能让后台的exe再显示出画面呢,不要关闭后再打开,要直接显示的
threenewbee 2020-08-25
  • 打赏
  • 举报
回复
在对方程序支持的前提下,用ShellExecute调用的时候最后一个参数指定 sw_hide
p_flag 2020-08-25
  • 打赏
  • 举报
回复
楼上您好,您这个不是vb.net吧,都报错呢,函数都不认
p_flag 2020-08-24
  • 打赏
  • 举报
回复
是有界面的,应该如何实现呢,效果(和主程序一起启动,在后台运行,主程序有个按钮,可以随时查看这个后台程序画面,查看完再点一个按钮,让其继续后台运行)
sprc_lcl 2020-08-24
  • 打赏
  • 举报
回复
string profn = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, tdtag, "xxx.exe"); pro = Process.Start(profn, trackfn); pro.WaitForInputIdle(5000);//等待进程空闲 if (pro.HasExited) throw new Exception("程序启动失败!"); while (apph == IntPtr.Zero && !pro.HasExited) { apph = pro.MainWindowHandle; Thread.Sleep(10); } if (pro.HasExited) throw new Exception("程序启动失败!"); //指定程序父对象 WinApi.SetParent(apph, this.panel1.Handle); //窗体显示样式 WinApi.SetWindowLong(apph, WinApi.GWL_STYLE, WinApi.WS_VISIBLE); //移动定义程序大小 WinApi.MoveWindow(apph, 0, 0, this.panel1.Width, this.panel1.Height, true); //其它:通知进程关闭 WinApi.PostMessage(apph, 0x10, 0, 0); [DllImport("user32.dll", SetLastError = true)] public static extern long SetParent(IntPtr hWndChild, IntPtr hWndNewParent); [DllImport("user32.dll", EntryPoint = "GetWindowLongA", SetLastError = true)] public static extern long GetWindowLong(IntPtr hwnd, int nIndex); [DllImport("user32.dll")] public static extern long SetWindowLong(IntPtr hwnd, int nIndex, int dwNewLong); [DllImport("user32.dll", SetLastError = true)] public static extern long SetWindowPos(IntPtr hwnd, long hWndInsertAfter, long x, long y, long cx, long cy, long wFlags); [DllImport("user32.dll", SetLastError = true)] public static extern bool MoveWindow(IntPtr hwnd, int x, int y, int cx, int cy, bool repaint); [DllImport("user32.dll", EntryPoint = "PostMessageA", SetLastError = true)] public static extern bool PostMessage(IntPtr hwnd, uint Msg, long wParam, long lParam); 具体你测试一下
p_flag 2020-08-24
  • 打赏
  • 举报
回复
如果实现可以追加分数
p_flag 2020-08-24
  • 打赏
  • 举报
回复
各位大侠版主帮忙看看能否实现,谢谢
glen30 2020-08-23
  • 打赏
  • 举报
回复
如果外部的exe是没有图形界面的dos程序,是可以后台运行的
有图形界面的应该不行

文档,原程序,安装程序,模型等很齐全 connie’s store系统软件需求说明书 1 引言   随着信息产业的出现和网络的普及,计算机的应用已普及到人类社会的每一个角落,它与人类的生活关系越来越密切。超市在我们的生活中充当了相当重要的角色,使超市的销售信息化自动化是当前超市系统所面临的一大难题。通过connie’s store系统软件,会使收银员更方便,更快捷的销售,从而提高工作效率.,使顾客更快捷地获得商品。 1.1 编写目的   a. 本说明的编写目的在于研究connie’s store系统软件在技术方面的具体需求,指出实现本软件功能的方法与途径。为后来的设计工作做好充分准备。   b. 本软件的预期读者是周炎晖老师及课题开发小组。  1.2 背景及范围   a. 本项目的名称为connie’s store系统的开发。   b. 本产品能帮助收银员更快地完成一次销售,并能使我们了解vb程序设计语言的优越性。   c. 本connie’s store系统软件的应用   本软件使用户了解了vb程序设计语言的优越性,其扩展性,可移植性和伸缩性都很强,能在已有的基础上不断完善。  1.3 定义术语   a. vb程序设计语言   是一种通用的计算机程序设计语言。   b. connie’s store系统软件   为了帮助收银员尽快熟悉销售从而达到更快地完成销售的目的而开发的销售软件。  1.4 参考资料     <>        <> <>  2 项目概述   市场上的connie’s store系统软件已具有比较完善的技术,但本软件采用了具有创新思维的vb程序设计语言,它将复杂的程序设计语言简单化,直观化,是一种通用的计算机程序设计语言。通过开展此工程,培养我们的团体协作意识和软件工程思想,同时在程序设计上也得到锻炼和提高。 2.1目标   2.1.1 开发意图 通过将信息放入数据库,实现调用数据库,实现vb编程与数据库的互动。使我们近一步掌握程序设计语言开发软件技术,培养我们的软件工程设计思想。 2.1.2 应用目标   connie’s store系统软件能使收银员快速的熟悉整个销售过程提高效率。同时通过本软件对vb编程语言作更进一步的推广。   2.1.3 作用及范围 本connie’s store系统软件适用于中小型的超市。 2.1.4 背景   本产品是采用vb程序设计语言开发,在WINDOWS环境下运行的软件。  2.2 产品描述   本产品是一项基于vb编程的产品,是以vb编程技术为核心,用vb程序设计语言进行开发的产品。   2.2.1 相关关系   本产品为独立软件,全部内容自含.  2.3 产品功能   2.3.1 内部功能   本软件的内部功能主要为实现了vb程序设计语言与数据库的结合,以及部分API函数的调用。   2.3.2 外部功能 本软件具有外部功能包括以下几个内容: (1)销售管理:对超市的整个销售过程进行管理,包括收银员的登陆,商品的信息输入,商品的出售,以及购买信息的输出和销售信息的入库。 (2)退货管理:对顾客购买的损坏货物的退还处理,包括退还货物信息的输入,对货物信息的核对以及货物的入库。 (3)收银员登陆:收银员用自己获得的帐号和密码登陆系统。  2.3.3 功能描述表 收银员用自己获得的帐号和密码登陆系统,系统随即调用数据库检查其有效性,若正确则进入销售页面进行商品销售.当用户购买商品时收银员通过扫描商品键入信息并调用数据库进行一次销售,当一次销售完毕收银员按键将进入下一次销售.其另一个功能是当商品出现问题时,客户凭小票退还商品,收银员将把退还的商品调入数据库的相应的表中. 2.4 用户特点 一般的小型超市收银员。   1. 要求对微软Windows界面比较熟悉,能熟悉上网基本操作。 2. 为了确保客户和酒店的信息具有更好的安全性,前台管理和后台管理是分离的。前台的管理模块需要经过权限授权才可以使用,我们为此设计了的收银员角色必须能进入系统的帐号和密码。至于帐号和密码的获得得从超市系统的另一个子系统获得,在这里我们做了一定的假设  2.5假定和约束 假定系统输入商品是在实际中是通过扫描进去的.假定后台的管理系统已经存在并且已经在数据库中添加了一定的收银员。 约束:计算机配置486以上。

16,721

社区成员

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

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