还是因为那个8点半前要启动近百套报盘程序的问题,差不多两周前表示自己会抽空给解决掉,一次性启动,直到昨天才差不多能够抽点时间出来开始想怎么解决的问题。

这个问题的复杂点在于除了启动exe外,还需要鼠标点击界面上的登录并输入用户名密码,然后选择通道进行启动,一个程序可能会有多个通道。其次,它是用vc ++写的,但是笔者并没有c++的开发经验,所以即使拿到直接的dll也没有用。

所以,一开始考虑通过windows远程桌面登录,并在登录的时候自动启动程序,于是baidu/bing了下,确实有,类似如下:

https://zhidao.baidu.com/question/215168970.html

https://zhidao.baidu.com/question/215168970.html?qbl=relate_question_0&word=%D4%B6%B3%CC%D7%C0%C3%E6%D4%CB%D0%D0%D6%B8%B6%A8%B3%CC%D0%F2

于是发现,到windows 10的时候,这个程序的tab选项消失了,于是msdn继续搜,可知rdp本身就是一个配置文件而已,具体就不详细说了,有需要的可参考如下:

https://social.technet.microsoft.com/Forums/en-US/8498aa46-309b-47f2-9f31-fa66c3c905f0/program-tab-missing-from-windows-10-remote-desktop-connection-and-the-history-brought-from-windows-8?forum=win10itprovirt

反正各种改,包括改组策略里面的值(组策略实时生效http://blog.sina.com.cn/s/blog_44e5d6d10100znkk.html),等等各种测试,差不多折腾了1个小时左右,发现通过rdp登录自动启动exe方式不怎么靠谱和稳定、而且windows 7 64位之后和之前相差的太多,果断换方案,在目标服务器上丢一个代理,远程通过http进行控制。

于是随即就改了方案,通过java加载配置文件中的exe路径去启动,然后报盘程序在被启动之后主动socket连接到监控程序,监控程序接下去反向控制所有的报盘程序。差不多一个下午,服务端就整个框架和大部分代码结构就完成了。

从这个问题引申出的(包括昨天下午我们公司在讨论有些客户测试出来的安全性问题时)一个重要现象在于,很多中小型公司或者部门,通常解决问题的方式是打地鼠式或者说头痛医头、脚痛医脚、拿来就用(跟大公司里面的刚好是两个极端),在真正行动前并没有花一些时间去思考一下真正的问题源头和当前采用方案的不稳定性而不是稳定性在哪里,结果导致很多问题持续几个月都没有解决干净、而是每次出现靠人工去检查和修复错误的数据。这些问题,程序员修复的时候似乎都是打地鼠,有一个洞那就堵上,洞什么原因出现的反而不去关心,更不要说根治,或许这跟公司的领导层背景有一定的关系,因为根治一个问题通常需要一次性花费比堵漏洞多10倍的精力,并且其副作用很可能是以后就清闲了,而在绝大部分公司清闲的程序员被认为是不努力的。

一个远程启动windows c++程序引发的技术决策现象的更多相关文章

  1. 一个优秀windows C++程序员的知识体系

    思考一个优秀windows C++ 程序员该有哪些知识,可最终发现什么知识都不能少, 看下图: 除了上面知识,程序员还要不断学习, 保持对新知识的热情. 转自http://www.cppblog.co ...

  2. 一个优秀windows C++程序员的知识体系[转]

    转自:一个优秀windows C++程序员的知识体系 思考一个优秀windows C++ 程序员该有哪些知识,可最终发现什么知识都不能少, 看下图: 除了上面知识,程序员还要不断学习, 保持对新知识的 ...

  3. 转:一个优秀windows C++程序员的知识体系

    转自:http://www.cppblog.com/weiym/archive/2012/06/10/178287.html.根据自身的经历,觉得作者总结的很好. 思考一个优秀windows C++ ...

  4. 一个优秀windows C++ 程序员该有哪些知识

  5. 运用JavaScript构建你的第一个Metro式应用程序(on Windows 8)(一)

    原文 http://blog.csdn.net/zhangxin09/article/details/6784547 作者:Chris Sells 译: sp42   原文 包括 HTML.CSS 和 ...

  6. 利用JSP编程技术实现一个简单的购物车程序

    实验二   JSP编程 一.实验目的1. 掌握JSP指令的使用方法:2. 掌握JSP动作的使用方法:3. 掌握JSP内置对象的使用方法:4. 掌握JavaBean的编程技术及使用方法:5. 掌握JSP ...

  7. 使用Visual Studio 2008创建你的第一个Windows Mobile程序介绍

    使用Visual Studio 2008创建你的第一个Windows Mobile程序介绍 Windows MobileMobileWindowsMicrosoftWinForm 介绍 Microso ...

  8. Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer 关于Newtonsoft.Json,LINQ to JSON的一个小demo mysql循环插入数据、生成随机数及CONCAT函数 .NET记录-获取外网IP以及判断该IP是属于网通还是电信 Guid的生成和数据修整(去除空格和小写字符)

    Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer   Advanced Installer :Free for 30 da ...

  9. 我的第一个 Windows 窗口程序(1)

    一般来说,构建一个 Windows 程序可以分为如下几个步骤: 定义窗口类(WNDCLASS) 注册窗口类(RegisterClass) 创建窗口(CreateWindow) 更新显示窗口(Updat ...

随机推荐

  1. poj2492 A Bug's Life【并查集】

    Background  Professor Hopper is researching the sexual behavior of a rare species of bugs. He assume ...

  2. Sublime Text3注册激活和部分配置

    1.  更改hosts文件(参照:sublime text3 破解方法,亲测有效) windows系统的hosts文件在C:\Windows\System32\drivers\etc在hosts文件中 ...

  3. hihocoder 1829 - 压缩字符串 - [状压+暴力枚举][2018ICPC北京网络预赛B题]

    题目链接:https://hihocoder.com/problemset/problem/1829 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 Lara Croft, ...

  4. HDFS Users Guide

    Purpose This document is a starting point for users working with Hadoop Distributed File System (HDF ...

  5. MongoDB-3.4安装文档

    1.建立目录 2.将解压文件cp到步骤1建立目录下 mongodb-win32-x86_64-enterprise-windows-64-3.4.1.zip 3.配置环境变量 4.启动mongodb服 ...

  6. 图论——最小生成树_prim

    今天是最小生成树的prim的算法,因为本人水平有限所以堆优化都不是很会啊,但邻接表好像出了点小差错所以上邻接矩阵比较好一点,尽管比Kruskal慢了很多很多但这种贪心思想还是要学习的.从第一条边开始取 ...

  7. Find a way--hdu2612

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2612 广搜题 注意:可能存在一个@两人都不能达到: 3 3 Y#@ .M# @.. #include ...

  8. 【Echarts】图表用echarts【待完善】

    echarts是做数据统计. ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox ...

  9. 【Pyton】【小甲鱼】异常处理:你不可能总是对的

    Exception 1.assertionerror举例 >>> my_list=['小甲鱼是帅哥'] >>> assert len(my_list)>0 & ...

  10. 常用python包(依赖)Ubuntu下

    amqp==1.4.9anyjson==0.3.3apturl==0.5.2beautifulsoup4==4.4.1billiard==3.3.0.23blinker==1.3Brlapi==0.6 ...