CSDN专家博客精华版

为人民服务!
  首页  :: 新随笔  :: 管理
上一页 1 ··· 388 389 390 391 392 393 394 395 396 ··· 521 下一页

2007年12月17日

摘要: 当你想控制一个现有的窗口程序时,就需要获取那个程序的窗口句柄。比如有一些黑客软件需要查找到窗口,然后修改窗口的标题。在外挂流行的今天,惊奇地发现它们也可以修改输入窗口的文字。这其中,就需要使用到FindWindowEx函数来定位窗口。下面就来使用这个函数来实现控制Windows里带的计算器程序。打开计算器程序,最小化在状态下面,运行本例子,点击创建按钮后,就可以点按钮,就会把计算器显示在最前面... 阅读全文

posted @ 2007-12-17 10:26 csdnexpert 阅读(155) 评论(0) 推荐(0)

摘要: 随着时代的发展,计算机技术发展得很快。CPU已经从单核心到多核心的转变,也就是一个CPU里具备了同时做多件事情的能力,而不是过去的分时复用了,而是实实在在地做多件事情。因此,开发软件也进入了一个新时代,就是多线程软件的开发时代。如何合理地分配多个线程同时运行,是提高软件效率的关键因素了。比如像网络游戏的客户端里,就可以使用一个线程不断地更新游戏的界面,分配另外一个线程不断地发送和接收网络的数据... 阅读全文

posted @ 2007-12-17 10:26 csdnexpert 阅读(103) 评论(0) 推荐(0)

摘要: 上面已经介绍怎么样创建一个简单的线程,在那里就需要使用函数WaitForSingleObject,它是用来做什么的呢?其实它是用来实现等待线程结束的,它的机理是这样的,通知Windows操作系统,现在我进入睡眼状态,当我关注的对象条件是否满足,如果满足了就吵醒我。在那里关注的对象是线程是否退出,这是一个条件测试。如果不等待线程关闭,就去删除线程的资源,就会出错的。使用前面的线程是简单一些,但它... 阅读全文

posted @ 2007-12-17 10:26 csdnexpert 阅读(108) 评论(0) 推荐(0)

摘要: 接着上面,再继续实现更加强大的线程类。从上面的C++类里可以看到,要在静态函数里使用类的成员就需要获取this指针,也就是通过CreateThread函数里把类的this指针传送进来的,这样在函数ThreadProc里的参数lpParameter就是this指针了。因此把参数lpParameter转换为CThread类指针,这样就可以使用类的成员。在这个例子里使用wsprintf函数来格式化线... 阅读全文

posted @ 2007-12-17 10:26 csdnexpert 阅读(148) 评论(0) 推荐(0)

摘要: 当你创建一个线程时,其实那个线程是一个循环,不像上面那样只运行一次的。这样就带来了一个问题,在那个死循环里要找到合适的条件退出那个死循环,那么是怎么样实现它的呢?在Windows里往往是采用事件的方式,当然还可以采用其它的方式。在这里先介绍采用事件的方式来通知从线程运行函数退出来,它的实现原理是这样,在那个死循环里不断地使用WaitForSingleObject函数来检查事件是否满足,如果满足... 阅读全文

posted @ 2007-12-17 10:26 csdnexpert 阅读(94) 评论(0) 推荐(0)

摘要: 有一天,我正在开发BT软件,它有这样的一个功能,就是先把文件的大小分配好,然后再慢慢地往里面对应的位置写入相应的数据。这样的好处,就是可以先把磁盘空间占用起来,以便后面的下载顺利进行。要实现这个功能,就需要创建一个空的文件,然后把文件指针设置到相应大小的位置,然后再调用函数SetEndOfFile来设置文件的结束位置,这样文件就有相应的大小了。在BT软件的开发里,也发现目录的处理时需要详细地记... 阅读全文

posted @ 2007-12-17 10:26 csdnexpert 阅读(154) 评论(0) 推荐(0)

摘要: 在信息的社会里,共享信息是非常重要的。比如你有一个很好的相片,要拷给朋友去分享。又或者你在写一些比较重要的数据,要进行不定时备份时,也就需要拷贝文件到不同的目录里。这样就需要使用到函数CopyFile来拷贝文件,它能够把一份文件拷贝多一份出来。我在开发一个数据采集的软件里,由于这个软件是可以不同的用户共同使用,用户跟我说有这样的需求,就是不同的用户的数据移动到不同的目录里,这样方便他们管理数据... 阅读全文

posted @ 2007-12-17 10:26 csdnexpert 阅读(121) 评论(0) 推荐(0)

摘要: 在开发软件的过程里,经常需要维护目录里的数据。比如在开发银行的信用卡系统里,由于每天创建的LOG非常多,那么一个很大的硬盘,在6个月后,就占用了很多空间。这时就有这样的一个需求,把所有超过6个月的LOG数据定期删除掉。要实现这个功能就得遍历整个目录,把文件名称和文件创建的时间都超过6个月时间的文件删除掉。因此,就需使用到下面的API函数FindFirstFile和FindNextFile来实现... 阅读全文

posted @ 2007-12-17 10:26 csdnexpert 阅读(119) 评论(0) 推荐(0)

摘要: 在开发软件过程里,也经常碰到进程间共享数据的需求。比如A进程创建计算数据,B进程进行显示数据的图形。这样的开发方式可以把一个大程序分开成独立的小程序,提高软件的成功率,也可以更加适合团队一起开发,加快软件的开发速度。下面就来使用文件映射的方式进行共享数据。先要使用函数CreateFileMapping来创建一个想共享的文件数据句柄,然后使用MapViewOfFile来获取共享的内存地址,然后使... 阅读全文

posted @ 2007-12-17 10:26 csdnexpert 阅读(206) 评论(0) 推荐(0)

摘要: Basic :“青春长驻”还是“菜鸟陷阱” Basic语言已经四十多岁了,在计算机技术发展史中,能被广泛使用四十年以上的语言实在数不出几个,可谓青春长驻。有趣的是,一方面许多人都在使用它,另一方面Basic又被人们冠以“初学者语言”的帽子,而且好象永无摘帽的日子。 Basic语言能长盛不衰,与微软公司有着太大的关联,更确切地说(个人猜测),是与微软老板比尔盖茨的“B... 阅读全文

posted @ 2007-12-17 10:26 csdnexpert 阅读(125) 评论(0) 推荐(0)

上一页 1 ··· 388 389 390 391 392 393 394 395 396 ··· 521 下一页