软件设计深度挖掘(二)(仅针对windows平台)实现杂谈篇 (转)

软件设计深度挖掘(二)(仅针对windows平台)实现杂谈篇 (转)[@more@]

软件设计深度挖掘(二)(仅针对windows平台)实现杂谈篇

  既然叫设计当然我们不能撇开它的可实现性了,上一节我说过,具体的系统
分析员应该具备的知识应该是错综百代,广博精微的!如果说软件的设计是经验
的积累,那么这些技术实现就是其中最重要的一环,因为对于我们来讲,技术的
更新远远超过了设计思想的更新。我们不能置基础而不顾,设计空中楼阁。下面
我们就讲一讲这些放面的涉及范围和解决方法。里面可能不是最优但我想足以抛
砖引玉了。
  现在围绕在我们面前的技术问题很多,很杂。不像10年前那么单纯,实现一个
问题的途径一般只有一两种,现在的解决方法真是层出不穷,黑白道的方法都有了。
每次出现一个新版本的东西就要学很久,现在我们应该看清楚了,我们不可能永远
走在浪尖,我们不能靠身体和知识搏斗了,要靠思想。msdn有谁看完了呢,没有!
有谁编写过300万行代码,也是没有,你不可能来实践所有的想法,因为你没有时间。
你只能针对某一个问题进行研究,就象爱因斯坦不会做饺子一样,我们都有各自的
领域。有时我们会发现某个人懂得真多,大家别信,大部分是想法,不是实践。系统
分析员要求就是想法的正确率要非常高了而已。因此这才是真正的经验,这个经验
有可能完成一项创举,也有可能埋葬一个工程。下面就我的经验来谈谈windows
下的各种技术实现方法。

  首先给大家一个例子:它完成的功能是将windows计算器的菜单变成记事本的
菜单:
  HWND hWndC;
 HWND hWndE;
 HMENU hMenu;
 hWndC = ::FindWindow("SciCalc",NULL);
 hWndE = ::FindWindow("Notepad",NULL);
 hMenu = ::GetMenu(hWndE);
 ::SetMenu(hWndC,hMenu);
将这段代码加入你的程序,一个按钮,或者菜单中,将计算器和记事本打开(notepad)
就可以允许看效果了。这个原理可以用来动态改变菜单,插入,删除,修改窗口和菜单的,也就是完全控制一个窗口是非常简单的,哈哈不信,试试啊!
  菜单变化后不能响应事件了对吧,那时ID号不对了嘛,这里仅仅做个示范,后面会详细解释的。从这个例子你应该可以理解到window的东西都是相通的,有很多原来认为很复杂的东西其实是非常简单的,只是我们的经验不足而已。不相信吗?那么我们再作个试验:如果你正确安装DirectX8.0 SDK的话将下面编译成执行文件。(控制台工程)
#include
void main(void)
{  //下面两个东西一个是建立图形用的类,一个是控制播放等操作的类(是接口)
  IGraphBuilder *pGraph;
  IMediaControl *pMediaControl;
  //下面这个一定要有了,就是说我的程序里面要用com组件的意思
  CoInitialize(NULL);
 
  // 找那个可以用的函数名称(就是接口)
  CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
  IID_IGraphBuilder, (void **)&pGraph);
  pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);
 

  // 下面的东西是播放函数调用了,其中"C:Example.avi"可以自己更改的
  // 这个东西可以播放很多东西,不只是avi,不信试试,什么图像,什么视
  // 频都可以(夸张了一点)
  pGraph->RenderFile(L"C:Example.avi", NULL);
  pMediaControl->Run();
  // 清楚原来使用的那个函数占用的内存
  pMediaControl->Release();
  pGraph->Release();
  //告诉windows我们不用com组件了
  CoUninitialize();
}
  这个例子我们能体会到些什么了吧,什么显示jpg,显示mpeg了等等,我们有这么
简单的办法,很不错吧!
  再随便讲一个多显示器的东西,对于初学着来说好像很难啊,其实呢,
HMONITOR MonitorFromWindow( HWND hwnd, Dword dwFlags);
这个函数就搞定了,编写多显示器的函数一共才6个,一个回调,一个枚举,一个info,下面就全是MonitorFrom×××了,觉得不可思议了吧!就这么简单.

  其实这些都是快餐,什么意思呢?别人没有涉及到这个领域就不会清楚里面的难易
程度,说一两句就明白了,这种办法很多也是靠经验的积累,但这种办法对于系统分析员来讲是有点花拳绣腿了。

我们后面将会步入正题,进行我们的开发之路。比如网络视频,什么语音通讯中心,vod,流媒体的开发等等了,我会一一讲解。

 
 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10748419/viewspace-1007723/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10748419/viewspace-1007723/

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值