csocket通信:Csocket类实现网络通信

、实现思路方法  微软MFC把复杂WinSock API封装到类里这使得编写网络应用更容易CAsyncSocket类逐个封装了WinSock API为高级网络员 提供了更加有力而灵活思路方法这个类基于员了解网络通讯假设目是为了在MFC中使用WinSock员有责任处理诸如阻塞、字节顺序和在Unicode和MBCS 间转换任务为了给员提供更方便接口以自动处理这些任务... [阅读全文]

win32api:Win32 API实现串行通信

 、实现思路方法  在Win16中可以利用OpenComm()、CloseComm()和WriteComm()等打开、关闭和读写串口但在Win32中串口和其他通信设备均被作为文件处理串口打开、关闭和读写等操作所用API和操作文件相同可通过CreateFile()打开串口;通过CloseFile()关闭串口;通过DCB结构、CommProp()、GetCommPr... [阅读全文]

进程间通信:进程间相互通信

一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方  另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于其它进程的内存则是隐藏的,并不能被正在运行的线程访问。  为了能在两个进程之间进行通讯,由... [阅读全文]

ctrlaltdel:Win9x下隐藏程序不出现在CTRL-ALT-DEL对话框中

Windows95/98下怎样隐藏应用程序不让它出现在CTRL-ALT-DEL对话框中?把你的应用程序从CTRL-ALT-DEL对话框中隐藏的一个简单办法是去应用程序的标题。如果一个程序的主窗口没以标题,Windows95不把它放到CTRL-ALT-DEL对话框中。清除标题属性的最好地方是在WinMain函数里。WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR,... [阅读全文]

10种不合格乳品:win9x下自动启动程序的10种方法

1. Autostart 文件 C:\\windows\\start menu\\programs\\startup {chinese/english} 在注册表中的位置: HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders Startup=\"C:\\windows\\s... [阅读全文]

应用程序无法启动:启动新的应用程序

在for DOS的C语言中,有一个system()函数,其功能是执行命令行程序,在VB中也有shell()函数,在Windows程序设计中WinAPI也为我们提供了类似的函数,它们就是WinExec()和ShellExecute(),下面就来讨论一下这两个函数的用法。1)WinExec()函数原型: UINT WinExec(LPCSTR lpCmdLine,UINT uCmdShow);参数说明... [阅读全文]

如何监视剪贴板

在Form1的.h的private加上:void __fastcall ClipboardChanged(TMessage& Msg);在Form1的.h的public加上:BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_DRAWCLIPBOARD,TMessage,ClipboardChanged)END_MESSAGE_MAP(TForm)在Form1的.cpp内加上... [阅读全文]

任务管理器应用程序:任务条状态区的应用

Windows95的任务条(Taskbar)上有一个状态区,可以显示当前输入法(中文版)、当前时间等信息,当启动打印管理器时还可显示打印管理器的图标,表明打印机正在工作。我们可以使用这一技术为正在后台工作的程序设置一个图标,以显示它的工作状态,用户可以通过鼠标点击来查询详细情况或修改工作参数。下面对其实现方法作一介绍。 图标的添加和删除 实现这两个操作都是通过调用Shell_NotifyIcon函... [阅读全文]

程序编制:监视程序的编制

监视程序,这个名字听起来似乎很陌生。它的用途主要是在后台监视系统中关键信息的改变,比如注册表的改变及硬盘上由于文件操作引起的改变等等。  也许有人会问了,编制这样的程序有什么价值呢?硬盘上文件改变了,我只要在资源管理器里点一点不就全都清楚了吗?问题当然不会这样简单,如今大家的硬盘都已经用G来做单位了,一块4.3G的硬盘中,大大小小的文件全都加起来也会有若干万(相信新购机的朋友会考虑IBM10.1G... [阅读全文]

鼠标不能拖放:如何实现鼠标拖放文件

一.1:取得要拖放的文件名与路径。2:取得目标文件名与路径。3:在拖动事件中把文件从原目录拷入目标目录。4:取得文件图标放入TImageList。5:以一种方式显示文件名和图标。这里有些难度的是第四步,如何取得图标,现把刚学来的再告诉你(以在TListView显示图标为例):在头文件中加入:#define NO_WIN32_LEAN_AND_MEAN在.cpp中加入:SHFILEINFO File... [阅读全文]

关机代码

//Win2000&WinNT实现的代码HANDLE hToken;TOKEN_PRIVILEGES tkp;if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &hToken)){LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privil... [阅读全文]

鼠标取词:鼠标屏幕取词技术的原理和实现

“鼠标屏幕取词”技术是在电子字典中得到广泛地应用如 4通利方和金山词霸等软件Software这个技术看似简单其实在windows系统中实现却是非常复杂总来说有两种实现方式:第种:采用截获对部分gdiapi来实现,如textout,textouta等第 2种:对每个设备上下文(dc)做分copy,并跟踪所有修改上下文(dc)操作第 2种思路方法更强大,但兼容性不好... [阅读全文]

vc编写windows服务:Windows服务编写原理及探讨(4)

( 4)些问题讨论  前面几章内容都是服务些通用编写原理但里面隐含着些问题编写简单服务时看不出来但遇到复杂应用就会出现些问题所以本章就是用来分析、解决这些问题适用于高级应用开发人员我这章内容都是经过实验得到很有实际意义  我在第章里面就说过是由个服务主线程执行CtrlHandler它将收到各种控制命令但是真正处理命令执行操作是ServiceMain线程现在当个S... [阅读全文]

vc编写windows服务:Windows服务编写原理及探讨(3)

( 3)对服务深入讨论的下  现在我们还剩下个可以在细节上讨论那就是服务CtrlHandler  当RegisterServiceCtrlHandler时SCM得到并保存这个回调地址个SCP调个告诉SCM如何去控制服务Win32现在已经有10个预定义控制请求: Control code Meaning SERVICE_CONTROL_STOP Reque... [阅读全文]

vc编写windows服务:Windows服务编写原理及探讨(2)

( 2)对服务深入讨论的上  上章其实只是概括性介绍下面开始才是真正细节所在在进入点里面要完成ServiceMain化准确点说是化个SERVICE_TABLE_ENTRY结构这个结构记录了这个服务里面所包含所有服务名称和服务进入点下面是个SERVICE_TABLE_ENTRY例子:SERVICE_TABLE_ENTRY service_table_entry =... [阅读全文]

vc编写windows服务:Windows服务编写原理及探讨(1)

有那么类应用是能够为各种用户(包括本地用户和远程用户)所用拥有用户授权级进行管理能力并且不论用户是否物理和正在运行该应用计算机相连都能正常执行这就是所谓服务了()服务基础知识Question 1. 什么是服务?它特征是什么?  在NT/2000中服务是类受到操作系统优待个服务首先是个Win32可执行如果要写个功能完备且强大服务需要熟悉动态连接库(Dlls)、结构... [阅读全文]

linux进程间通信:Linux环境进程间通信信号灯(1

一、信号灯概述信号灯与其他进程间通信方式不大相同,它主要提供对进程间共享资源访问控制机制。相当于内存中的标志,进程可以根据它判定是否能够访问某些共享资源,同时,进程也可以修改该标志。除了用于访问控制外,还可用于进程同步。信号灯有以下两种类型:二值信号灯:最简单的信号灯形式,信号灯的值只能取0或1,类似于互斥锁。注:二值信号灯能够实现互斥锁的功能,但两者的关注内容不同。信号灯强调共享资源,只要共享资... [阅读全文]

linux进程间通信:Linux环境进程间通信信号灯(3)

) { perror(\"semctl error\"); i=max_tries;} else { if(arg.buf-sem_otime!=0){ i=max_tries; init_ok=1;} else sleep(1); } } if(!init_ok) // do some initializing, here we assume that the first process tha... [阅读全文]

linux进程间通信:Linux环境进程间通信信号灯(2)

DO标志,那么在进程结束时,相应的操作将被取消,这是比较重要的一个标志位。如果设置了该标志位,那么在进程没有释放共享资源就退出时,内核将代为释放。如果为一个信号灯设置了该标志,内核都要分配一个sem_undo结构来记录它,为的是确保以后资源能够安全释放。事实上,如果进程退出了,那么它所占用就释放了,但信号灯值却没有改变,此时,信号灯值反映的已经不是资源占有的实际情况,在这种情况下,问题的解决就靠内... [阅读全文]

日期计算:计算输入的日期为当年的第几天

比如输入2006.7.30参考:[http://www.CrazyCoder.cn/]参考:[http://www.CrazyCoder.cn/]那这天就是今年的第211天参考:[http://www.CrazyCoder.cn/]如果输入2000.7.30那就是212了~~呵呵#includeiostream.h#includeconio.hclassdays{intday;intyear;in... [阅读全文]

linux进程间通信:Linux环境进程间通信信号灯(4)

代码,该文件不长,但给出了信号灯相关的重要数据结构。 附录1: struct sem_array如下:/*系统中的每个信号灯集对应一个sem_array 结构 */struct sem_array { struct kern_ipc_perm sem_perm; /* permissions .. see ipc.h */ time_t sem_otime; /* last semop ... [阅读全文]

powerbuilder开发:开发 C++ Builder 应用程序

2.6开发应用程序当在可视化环境中设计应用程序用户界面时,C++Builder为应用程序写出了实际的代码。当选择并修改窗体或组件的属性时,修改结果会自动反映在源代码中,反之亦然。你可以在任意的文本编辑器中,包括C++Builder内置的代码编辑器中编辑源代码,你所做的改动也会立即反映到可视化环境中。2.6.1编辑代码C++Builder代码编辑器是一个功能完善的ASCII编辑器。若使用可视化编程环... [阅读全文]

应用程序初始化失败:失败的程序,这个彻底没救了

/* 5.编写设计个电话簿管理(源名:LJOB6.C演示:TELBOOK.EXE)要求:每条包括:姓名班级电话号码E-MAIL地址;在种设计并利用菜单进行管理项目选择次运行可根据选择完成项或多项操作通过选择菜单退出(或结束)项来结束运行管理功能包括:加入条新电话记录删除条电话记录显示保存所有电话记录?修改某条记录查询排序显示查询功能包括:按人名查询电话号码按电话... [阅读全文]

硬件信息查询软件:班上的信息查询软件

=oblog_text我们班上信息查询软件Software~ 只是个小软件Software而已~~不过用到知识点比较多~当然~~重要数据还是不会传上去~~给代码就行了~#stdio.hstructstudent{charname[10];num;age;charaddr[15];}stu[4];{num,i,t=1,a=0;charch[100];FILE*fp... [阅读全文]

驻留内存程序:C++ Builder 控制窗体驻留内存

4.3窗体的更多细节使用IDE创建一个窗体的同时,C++Builder会自动地通过在WinMain()函数中加入代码来在内存中创建窗体。这也是一般所需的方式,可以不必去改变。也就是说,在整个程序范围内主窗口是一直存在的,所以为主窗口创建窗体时,可以不必改变C++Builder的缺省方式。不过,你可能不希望在程序运行时,所有应用程序的窗体都驻留在内存中,若不希望应用程序的对话框同时留在内存中,可以在... [阅读全文]

分布式应用程序:C++ Builder 创建分布式应用程序

3.8创建分布式应用程序分布式应用程序分布于不同的机器和平台上,一般在网络上共同动作以执行一组相关的功能。例如,一家全国性的公司的关于订单和销售追踪系统,需要在每个销售点上都有单独的客户应用程序,能处理这些客户端的请求的主服务器以及存储与交易有关的所有信息数据库接口,通过创建分布式客户应用程序(例如基于Web的应用程序),大大简化了维护和更新各个客户端的工作。C++Builder提供了分布式应用程... [阅读全文]

堆内存:C++堆内存(heap)

堆内存是什么呢?   我们知道在c/c++中定义的数组大小必需要事先定义好,他们通常是分配在静态内存空间或者是在栈内存空间内的,但是在实际工作中,我们有时候却需要动态的为数组分配大小,在这里c库中的malloc.h头文件中的malloc()函数就为您解决了问题(bc或者是在老的标准中是alloc.h),它的函数原形是void* malloc(size_t size),在动态开辟的内存中,在使用完后... [阅读全文]

清理无用进程:用C++实现进程清理

一、实现方法  在Visual C++编程中,最安全的杀死进程的方法是向运行程序的主窗口发送WM_CLOSE消息,其实现代码如下:HWND hwnd =this.m_hWnd; // 获得主窗口PostMessage(hwnd, WM_CLOSE, 0, 0);   发送此消息后,通常应该等待直到进程确实终止,当进程终止时,它发出状态信号,并且 WaitForSingleObject 返回WAIT... [阅读全文]

回收站windows:VC++实现Windows回收站的文件存取

、实现思路方法  在Windowsshellapi文件中定义了个名为SHFileOperation()外壳用它可以实现各种文件操作如文件拷贝、删除、移动等该使用起来非常简单它只有个指向SHFILEOPSTRUCT结构参数使用SHFileOperation()时只要填写该专用结构--SHFILEOPSTRUCT告诉Windows执行什么样操作以及其它重要信息就行了... [阅读全文]

importexport:跨平台的import/export的定义

Windows下的DLL、Linux下的库或是C++中调用C的库,均可能用到import/export。本文讨论一种通用的import/export宏定义的使用实践。 如下所示,\"common.h\"定义了可以跨平台的import/export宏定义,\"something.h\"定义了某个类头文件的import/export定义,\"something.cpp\"实现类并export类,使用该... [阅读全文]
<< < 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 > >> 共1813条 分61页