如题,最基本的实现,多个子EXE文件共用主程序的用户名密码,使用同一权限子程序不能单独启动关闭主程序时必须先关闭所有的子程序还有就是能不能让子程序以模式窗口的样式运行,(就是打开子程序,必须关闭才能激活主程序)暂时先就这些,欢迎大家一起讨论,
哪位有过这方面经验的请给一段代码或是个小例子啊

解决方案 »

  1.   

    1,多个子EXE文件共用主程序的用户名密码,使用同一权限让用户在主程序里打开单个的程序就可以了.2,子程序不能单独启动 编译成exe了,怎么可能不能单独启动呢?3,关闭主程序时必须先关闭所有的子程序关闭主进程时,检测所有子程序,有就关掉.4,还有就是能不能让子程序以模式窗口的样式运行,(就是打开子程序,必须关闭才能激活主程序) 想不出怎么处理.
      

  2.   

    这么快就有人顶贴了啊,
    各位给几句代码吧,小弟一直做BS的,CS刚接触不了解
      

  3.   

    小弟一直做cs的,bs刚接触不了解  想学 
    跟着后面看一看吧
      

  4.   

    给个代码,你参考下吧
    不懂的查询下MSDN主程序
    Main                AppExePath = "程序名称.Exe";
                    AppExePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), AppExePath);
                    ProcessStartInfo p = new ProcessStartInfo(AppExePath);
                    p.WorkingDirectory = Path.GetDirectoryName(AppExePath);
                    p.Arguments = "启动";
                    AppProcess = Process.Start(p);其他EXE
    Main            if (args.Length > 0 && args[0] == "启动")
                {
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    Application.Run(new frmMain());
                }
      

  5.   

    其他EXE 
            static void Main(string[] args)
            {
                if (args.Length > 0 && args[0] == "人事系统")
                {
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    Application.Run(new frmMain());
                }
            }
      

  6.   

    多线程,可以实现子程序同时运行。application.exit()
    退出所有程序
      

  7.   

    多个子EXE文件共用主程序的用户名密码,使用同一权限 :(那些子程序继承窗体后,申明带参数的构造函数)(这样)子程序不能单独启动 关闭主程序时必须先关闭所有的子程序 (做个托盘,托管子程序——其实就是把进程拿一起,最后一起析构了)还有就是能不能让子程序以模式窗口的样式运行(Hide()),(就是打开子程序,必须关闭才能激活主程序) 
      

  8.   

    如果子程序没有要求的话,写成dll应该就行了吧……如果要写成exe,主程序调用子程序时将用户名密码传过去,子程序如果检查没有用户名密码就直接退出……如果要想关闭主程序时关闭所有子程序,icdbow的方法就可以了吧;如果是子程序是由用户手动关闭的话,主程序就在调用子程序时进行记录,然后开线程随时检查调用的子程序,发现全部都关闭后才允许本身关闭操作执行……
      

  9.   

    打开的时候好像用ShowDialog()就行了,记不清了
      

  10.   

    关闭主程序时必须先关闭所有的子程序 
    -----检测子程序进程
    还有就是能不能让子程序以模式窗口的样式运行,(就是打开子程序,必须关闭才能激活主程序) 
    --主程序调用子程序后就隐藏或最小化到任务栏子程序关闭时再show出来,或者干脆关闭主程序,show出子程序,
    所有子程序关闭就show出主程序。你可以参考魔法兔子,和360的设计
      

  11.   

    总觉得楼主那个程序就应该做成一个exe没有通讯,没有启动服务的话就没必要做成多个exe
      

  12.   

    多个EXE分别都做托盘,传递参数方式可以采用公用配置文件INI,通过EXE自己的读取,写入参数到INI中,实现EXE的参数传递.
    登陆模块也可以通过INI文件配置一些标志量来表示是否已经顺利登陆.
      

  13.   

    可能是我想得不以,在我看来,这个其实并不太困难!
      一)把各项目中除主项目之外的Main方法中的 Application.Run(new Form1())删除,只保留主项目的.这样其它子项目虽然编译成了exe文件,却不能独立运行.
      二)在主程序中通过反射得到子项目的主窗体.
        如: Assembly asm = Assembly.LoadFrom("ClassLibrary1.exe");  //加载子项目.
                Form fm = asm.CreateInstance("ClassLibrary1.Form1", true)  as Form;//反射创建窗体.
                fm.ShowDialog();
       这样就可以如同一个程序一样方便的操作各子程序了.也就可以完成你要的效果了.
      

  14.   

    分布式应用程序。
    REMOTING 
    这也是。NET 真正优于其它开发语言的地址。
      

  15.   

    搞不懂你为啥要这样设计?你把exe变成dll不是很好吗?
      

  16.   

    问题1和2 通过主程序将user类传递给子exe程序进行同一管理
    问题3貌似多余,因为根据问题4的要求,不会出现问题3的情况...
    问题4 主窗体打开子程序后,可以设置enable=false,关闭子程序传回响应值后enable=true,进行操作,包括关闭。
      

  17.   

    运行a.exe par1, par2
    可以在a.exe中读到参数的。在C#中可以直接读到这些环境变量。至于模态窗体那种形式,就不清楚了。