- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 浅尝汇编1-查看CPU和内存
在WINDOWS中进入虚拟8086模式的DOS。用R命令查看寄存器,用R+寄存器修改寄存器内容。用D命令查看内存。用E命令修改内存。用U命令查看汇编代码。用T命令执行语句。注意CS和IP的变化。用Q命令退出。
2013-04-16 21:49:35 286
原创 使用gSOAP开发
公司有个项目,需要通过soap协议实现机票订阅功能。以前,从来没碰过soap协议和webservice,突然让我弄,还真有点不知从何下手。没办法,百度、谷歌齐用,终于了解了个大概。因为是在Linux下开发,所以我使用了开源项目gSOAP。关于基础知识什么的,我就不说了,网
2011-08-15 11:24:24 914
原创 在Linux下使用ppp配置3G模块
最近在捣鼓3G模块,用的是上海SIMCOM5215。因为刚接触3G,一开始拿到模块时,只知道通过串口发AT命令来实现网络连接和数据发送接收。如,AT+NETOPEN,AT+TCPCONNECT,AT+TCPWRITE,AT+NETCLOSE。后来无意中,知道在linux下,有PP
2011-08-15 10:40:13 5389 3
原创 Linux获取进程ID号
<br />用system("./(可执行程序)")开启进程时,我们没有办法获得这个可执行程序执行的进程ID号<br />却可以用system("ps | grep -e %s | grep -v grep | awk '{print $1}'")来获得所要进程的ID号,<br />前提是我们必须知道这个进程的进程名。<br />ps | grep -e %s | grep -v grep | awk '{print $1}'。<br />如果系统允许ps -ef的话,那么可以改成<br />ps -ef
2011-04-19 15:29:00 5245
原创 QProcess的初略使用
<br />终端在做一项功能时,需要开着摄像头进行拍摄。摄像头这边,他们做成了一个可执行文件。<br />一开始的想法是用system调用./video直接执行,然后用system调用kill -9 id号关掉摄像头的这个进程。<br />但是实际调试时,发现一旦调用kill时,程序就会异常,而且提示QProcess:destroy while thread is still running<br />估计是QT自身的进程保护机制限制了这种操作。<br />既然如此,那么只好用QProcess启动进程,然后
2011-04-19 15:12:00 1481 1
原创 QT的字符编码转换
<br />开发的终端需要接入两个外设,二代证读取设备和打印机。<br />让人郁闷的是,两个设备的字符编码与终端系统不一致,一开始耗了不少时间,后来才注意到字符编码的问题。<br />二代证读出来的数据都是用unicode编码的,而打印子要求穿过去的数据要转换成unicode编码。<br />查阅了help文档,发现QT有自己的转换函数,那真是再好不过了。<br />首先是二代证的数据:<br />QString text = QTextCodec::codecForName("GB2312")->fro
2011-04-19 14:39:00 2270
原创 QTextEdit设置可输入字符字节限制
<br />QTextEdit是没有可以直接调用的成员函数用来设置可输入字节数的最大限制。<br />这边是通过信号textChanged来实时监控输入,从而控制输入的。<br />实现方式如下:<br />1。定义自己的处理槽slotTextChanged()<br />2。connect槽slotTextChanged和信号editChanged。<br />3。实现slotTextChanged如下:<br /> QString textContent = this->toPlainText()
2011-04-19 14:28:00 2548 1
原创 QTextEdit不高亮选中的文本
<br />在工程里定义了一个QTextEdit的类,并对它实现了文本的平滑滚动,但是用手在屏幕上滑动时,虽然文本是<br />跟着一起滑动了,但是会出现一段文本被选中高亮,为了去掉这个高亮区域,做了简单的实现,如下:<br />1。定义了槽slotSelectionChanged()。<br />2。connect槽slotSelectionChanged()和信号selectionChanged。<br />3。对槽做如下实现<br /> QTextCursor cursor = this->te
2011-04-19 14:10:00 1608
原创 设置QListWidgetItem选中的样式
<br />如果在QListWidget中插入QListWidgetItem(比方itemA),默认情况下,在点击itemA时,会被选中<br />而且呈高亮,但是我们往往希望这些是可以自己改变的。<br />为了这个目的,我在网上一直搜索QListWidget改变选中,也确实找到了设置的方法,如下:<br />是利用QPalette的setBrush设置,然后将此QPalette设置成QListWidget的palette。<br /> QImage img;<br /> QPalette p
2011-04-19 14:00:00 6793
原创 qt实现iPod浏览器效果
<br />实现效果:<br />1。鼠标拖动实现平滑滚动。在下面的截图中可以发现,我的这个是没有上下左右滚动条的,而页面的拖动是利用按住鼠标左键,向左或向右或向上或向下来实现屏幕的滑动的。<br />2。对当前网页进行截图排列显示,然后点击其中一个缩略图回到所点的页面的正常显示界面。点击缩略图时有以此图所在位置为中心向整个浏览器界面放大的效果。<br /> <br />框架界面是利用网络上的开源代码的一个浏览器程序,因为主要是想实现浏览器的特效处理,所以就照搬了外围的框架界面。这里只贴出浏览器效果界面的截
2011-03-31 15:18:00 801 1
转载 sco下使用U盘
<br />以下文章转自chinaunix论坛,由answer编写,原文地址:http://bbs.chinaunix.net/viewthread.php?tid=54936<br /> <br />----------------------------------------------------------------------------------------------------------------------------------------<br />sco openserve
2010-11-23 09:47:00 529
原创 个人总结---QT各种大小中文字体显示
<br />从网上很难搜到自己想要的字体,所以考虑要自己制作字库文件QPF。<br />根据从网上搜索的结果,大致知道了制作的工具和流程。<br />工具就是qvfb和makeqpf。<br />网上很多资料上,对qvfb的编译都撇开不解,看到最多的是对makeqpf的编译。<br />一开始,我下了qt-embedded-free-3.3.8.tar.gz过来,解压成qt-embedded-free-3.3.8,并configure和make。<br />结果到qt-embedded-free-3.3.8
2010-09-30 17:11:00 2565
原创 Fedora12的KDE桌面系统下输入法设置
<br />KDE桌面用着很长一段时间了,现在想输入中文<br />结果安装了小企鹅后竟然不行,上网搜索,有说系统有自带IBus输入法的<br />但是在KDE下需要一些特殊设置,例如找到etc/locale.gen和/etc/rc.conf,<br />并修改其中的zh_CN.UTF-8和LOCALE。但是找来找去,至少在Fedora12下<br />根本没有这两个文件。<br />实在不甘心,网上也没有什么有用的信息,一发狠,结果还搞定。<br />在/etc目录下,利用grep -nwr LANG *
2010-09-09 12:03:00 1873
原创 个人小结(1)
<br />感觉好久没用过VC写过程序,今天重新执笔后,发现很多东西已经印象模糊了。<br />1.实现对话框获取拖动的文件功能。只记得有这么一个功能,但是怎么实现已经想不起来了。上网<br />google了一下,原来是WM_DROPFILES消息。一般情况下,你在ClassWizard下的MessageMaps<br />里是找不到这个消息,需要修改ClassInfo下的Messagefilter为Window,才能在MessageMaps<br />里找到。也可以自己在程序添加这个消息的实现,只要添加
2010-08-08 12:27:00 238
原创 QQ密码框截取
<br />最近,利用已知的键盘监控技术,对QQ密码截取做了一些测试。<br />1.GetAsyncKeyState和GetKeyState。如果是在帐号框内输入数据,那么这两个函数能够获得正确的数据。但是,当在密码框内输入时,这两个函数只能得到被QQ程序处理过的其他与密码无关的数据。查找资料获知,QQ采用了国际先进的安全输入控件保护机制,当密码框获得焦点时,QQ会在底层驱动上加入自己的驱动程序,使得键盘驱动送出的扫描码是经过处理的。这种处理是使用另外字符替换掉真正的密码字符,比如1会显示成8。不过这种字
2010-07-10 17:51:00 725
原创 进程检测与隐藏
挂钩SSDT中的ZwQuerySystemInformation方法,能够使任务管理器不显示我们想屏蔽的进程,但是用基于EPROCESS结构中双向链表的进程检测方法还是能够得到被屏蔽的进程信息的。挂钩SSDT中的ZwQuerySystemInformation方法,可以影响以下进程检测:1.利用Toolhelp32查看进程2.利用psapi.dll中的EnumProcesses等查看进程3.利
2010-05-13 12:48:00 322
转载 P2P之UDP穿透NAT的原理与实现(附源代码)
P2P 之 UDP穿透NAT的原理与实现(附源代码)原创:shootingstars参考:http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。首先先介绍
2010-05-02 11:21:00 161
原创 枚举进程再续
在EPROCESS结构中,有两个需要关注的成员,ActiveProcessLinks和ObjectTable。前者是一个双向链表,通过它可以遍历系统中的所有进程的EPROCESS结构。后者是一个结构,里面有一个双向链表,也能够遍历进程。但是通过后者遍历,所能得到的进程信息就只有一个进程ID而已,而前者几乎包含了进程所有的信息,除了绝对路径。不过EPROCESS的结构成员太多,类型也各种各样,很多成
2010-04-30 09:58:00 242
原创 用四种方法枚举进程续
因为ZwQuerySystemInformation的返回值类型为NTSTATUS,以为需要DDK的支持,后来才想到NTSTATUS只是一个无符号的4字节,那么我自己定义这个类型不就行了,事实证明我很后知后觉,不过总算是成功实现了用ZwQuerySystemInformation枚举进程,根据返回的数据分析,用ZwQuerySystemInformation能够查看进程的以下信息:进程名、进程
2010-04-29 07:38:00 355
原创 枚举进程
今天,用3种方法实现了进程的枚举。1.Toolhelp的API2.Psapi.dll中的EnumProcesses,EnumProcessModules3.Wtsapi32.dll的WTSOpenServer,WTSEnumerateProcess 在尝试第4种方法利用NtQuerySystemInformation时,因为这个函数的声明必需包含DDK头文件,结果下载的DDK包版本
2010-04-27 23:49:00 219
原创 远程线程CreateRemoteThread
CreateRemoteThread可将线程创建在远程进程中。函数原型HANDLE CreateRemoteThread( HANDLE hProcess, // handle to process LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD SIZE_T dwStackSize,
2009-10-03 01:34:00 315
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人