如题, 不一定就是QQ客户端(登陆界面),其他客户端的登陆界面都可以.
请问如果以QQ为例, 怎么实现呢?

解决方案 »

  1.   

    C# code
    using System.Diagnostics;Procerss proc = new Process();
    proc.StartInfo.FileName = "text.exe";//注意路径
    proc.StartInfo.Arguments = "";//运行参数
    proc.StartInfo.WindowsStyle = ProcessWindowsStyle.Maximized;//启动窗口状态
    proc.Start();
    例如启动IE打开网址:
    Procerss proc = new Process();
    Process.Start("iexplore.exe","http://www.baidu.com");
      

  2.   

    Procerss是什么? 缺少引用..
      

  3.   

    灰常强大, 可以打开.我解释下我的目标:我们老板让做一个系统总管理页面(假设为A页面), 
    登陆这个页面后通过链接或按钮,
    打开别的网站的后台登陆页面(也是我们做的),以及打开本机安装的某个客户端登陆界面(如QQ).
    不同的角色登陆A页面可以打开不同的登陆页面进行登陆,以实现对不同的网站后台进行管理.目前根据(天涯沦落人)的提示,可以打开某个客户端,
    那么接下来我怎么在打开客户端的同时给用户名和密码输入框直接该角色的账号跟密码呢?
    并自动登陆进去?
      

  4.   

    如果你是用B/S的方式来搞的话,这种打开方式只是在服务器上打开了一个程序,客户端根本看不到,而且你要部署到服务器上的话,这样根本打不开,权限不足,很明显你混淆了服务器和客户端,你现在是在测试,服务器和客户端都是一台机器,你当然看到你从浏览器访问一个页面之后,一个程序也随之启动了,岂不知这是两个范畴的东西,你混到一起了。像QQ那样可以启动,不是靠运行程序完成的,而是依赖自定义的网络协议相关功能完成的。测试网站的话最好把网站部署到别的机器上,用另外一台机浏览来看效果,不要在自己的机器上测试,很多时候你测正常的东西部署出去之后就不工作了。
      

  5.   

    页面里是不能打开本机exe的,否则不是太危险了吗
      

  6.   

    如果一定要这样,那只能用OCX控件了
      

  7.   

    //网页打开本地客户端程序 
    //js代码:
    function exec(command) {
                window.oldOnError = window.onerror;            window._command = command;            window.onerror = function(err) {                if (err.indexOf('utomation') != -1) {                    alert('请加载ActiveX控件!');                    return true;                }                else 
                    {                return false;
                    }            };
                var wsh = new ActiveXObject('WScript.Shell');
                if (wsh) {
                    try {
                        wsh.Run(command);
                    }
                    catch (e) {
                        alert("您当前还没安装该软件!");
                    }
                }            window.onerror = window.oldOnError;
                        }command 格式:
    'file:///" + Path(客户端程序路径) + " /u user=" + LoginName(传参-登录名) + " psw=" + Password (密码)+ "'然后在客户端程序的program.cs文件接收参数,判断如果正确就登陆,即可。
      

  8.   

    别乱扯.浏览器激活本地应用程序, 可以借助 '伪协议',
    微软的吧, 不过 Firefox 也支持呢.js 中大体类似的样子是这样:
    <script type="text/javascript">
    window.open('TENCENT://');
    </script>其中的 TTENCENT 就是 '伪协议',
    可以在注册表中找到:
    HKEY_CLASSES_ROOT\TENCENT
    看看这个键就知道了.
      

  9.   

    这个要运用到注册表了。直接用Process无法打开客户端的安装程序的。
    在安装客户端软件的时候加入注册表值:Assembly asm = Assembly.GetExecutingAssembly();
                string path = asm.Location.Remove(asm.Location.LastIndexOf("\\")) + "\\";
                RegistryKey first = Registry.ClassesRoot.CreateSubKey("Test");
                first.SetValue("", "adonlinewebieprotocol");
                first.SetValue("URL Protocol", "");
                RegistryKey second = first.CreateSubKey("shell");
                RegistryKey third = second.CreateSubKey("open");
                RegistryKey forth = third.CreateSubKey("command");
                forth.SetValue("", "\"" + path + "软件名称.exe\" \"%1\"");然后使用超链接
    <a href="Test://para1&para2&para3"获取参数在运用程序主入口Main中
    static void Main(string[] args)
            {
    if(args.Length > 0)
    {
    args[0].....
    }
    }
      

  10.   

    1楼的方法是可以实现在页面通过点击按钮来打开本机exe程序.10楼的方法我试了总是报错,缺少对象,不知道是不是我的路径写的不对.在此感谢各位, 
    从页面对EXE程序进行操作貌似很费神.先转入从页面对另一个登陆页面的操作的编写.这方面我比较菜, 从主页面通过点击按钮或超链接,打开另一个网站的登陆页面,这一步没难度,然后对新打开的登陆页面的用户名输入框和密码输入框直接赋值要怎么操作呢?以及怎么操作到该页面的登陆按钮呢?
      

  11.   

    (打开客户端,并操作, 先放一放)7楼误会我的意思了. 我要做的, 只是通过主页面去打开别的网站的登陆页面, 并直接登陆进去.比如, 我做了main页面, 在main页面有个链接a,指向mail.163.com, 点击a,跳转到mail.163.com,
      我要做的,就是在跳转的同时, 给mail.163.com的用户名框和密码框直接填入值(后台操作,不是手动填入),并自动点击了'登陆'按钮, 进入到了这个163邮箱里去了.就是说, 点击a, 最终打开的页面, 是用一个账号进入了该邮箱.所以问题就是:如何  给mail.163.com的用户名框和密码框直接填入值(后台操作,不是手动填入),并自动点击了'登陆'按钮? 俺迷茫..