该内存不能read 或written数值 叙述
摘要:该内存不能read 或written数值 叙述 0 0x0000 作业完成。 1 0x0001 不正确的函数。 2 0x0002 系统找不到指定的档案。 3 0x0003 系统找不到指定的路径。 4 0x0004 系统无法开启档案。 5 0x0005 拒绝存取。 6 0x0006 无效的代码。 7 0x0007 储存体控制区块已毁。 8 0x0008 储存体空间不足,无法处理这个指令。 9 0x0009 储存体控制区块位址无效。 10 0x000a 环境不正确。 11 0x000b 尝试载入一个格式错误的程式。 12 0x000c 存取码错误。 13 0x000d 资料错误。 14 0x000
阅读全文
posted @
2012-02-15 19:59
为人民服务
阅读(323)
推荐(0)
Delphi内存专题 (引)
摘要:第一课:Windows 是多任务的操作系统, 一个任务就是一个应用(应用程序)、一个应用占一个进程; 在一个进程里面, 又可以运行多个线程(所以就有了很多"多线程编程"的话题).对 Win32 来讲, 系统给每个进程 4GB 的地址空间:低端 2GB($00000000 - $7FFFFFFF) 给用户支配;高端 2GB($80000000 - $FFFFFFFF) 留给系统使用.文件或程序要调入内存才能工作, 先看看我们的内存到底有多大吧.在系统盘根目录下有个 pagefile.sys 文件, 这就是我们的 "虚拟内存"(虚拟内存是以文件的形式存在的)
阅读全文
posted @
2012-02-14 18:48
为人民服务
阅读(252)
推荐(0)
DELPHI之关于String的内存分配(引)
摘要:在函数、过程或者方法中定义一个字符串变量时,由于我们知道在函数、过程或者方法中定义的变量为局部变量,它的内存是在栈中分配的,但是这里有个小细节我们要注意,对于一个局部的字符串变量,它的大小为4字节,这个在栈中分配的4字节是不是就是字符串变量的全部呢?答案是否定的,它在栈中保存的只是这个字符变量的大小和字符变量的值在堆中的内存地址!,这就是说,该字符变量的值并不在对应的栈中,而是在堆中!我们了解到在堆上分配的内存是要程序员来处理内存释放的,而我们在使用String类型的变量时从来就没有处理过该变量占用的内存!这是什么原因呢?这里我们就要讲到编译器的引用计数原理了,正是因为它为我们省去了很多麻烦(
阅读全文
posted @
2012-02-14 18:41
为人民服务
阅读(263)
推荐(0)
打印机状态测试
摘要:试试这个吧 //获得缺省打印机的状态 var pinfo: pPRINTERINFO2; pprt,a: Cardinal; b:PDWORD; begin b:=allocmem(256); pinfo:=AllocMem(1000); if OpenPrinter('HP DJ 200',pprt,nil) then begin a:=1000; if getprinter(pprt,2,pinfo,a,b) then showmessage(pinfo.pPrinterName+' ststus:'+inttostr(pinfo.Status)); Clo
阅读全文
posted @
2012-02-14 08:44
为人民服务
阅读(1483)
推荐(0)
用句柄操作下拉框
摘要:你要获得组合框的句柄做什么呢?是要读取组合框条目的值还是进行什么操作呢?要读取值用selectedIndex读取索引值(从0开始),用selectedItem读取选项的内容(要进行类型转换),用selectedIndex.key可以获得按键值;要完成句柄的操作也有三种方式,用其一也可,但工程较大,用于Windows编程:1、用父窗口的函数: WM_DRAWITEM函数重绘,再用句柄用函数GetWindow(hCombo,GW_CHILD)即可2、可以通过API函数 GetComboBoxInfo 得到ComboBox 的信息,控件得重绘: protected override void OnH
阅读全文
posted @
2012-02-09 20:45
为人民服务
阅读(566)
推荐(0)
SendMessage参数
摘要:以下是全部的Windows消息, 对于未在MSDN上的消息的WPARAM, LPARAM参数解释正确的给分 [已知 :0x0313, 0x01e2, 0x01e5, 0x01eb, 0x006a] WM_NULL 0x0000 WM_CREATE 0x0001 WM_DESTROY 0x0002 WM_MOVE 0x0003 WM_SIZEWAIT 0x0004 WM_SIZE 0x0005 WM_ACTIVATE 0x0006 WM_SETFOCUS 0x0007 WM_KILLFOCUS 0x0008 WM_SETVISIBLE 0x0009 WM_ENABLE 0x000A WM_SET
阅读全文
posted @
2012-02-09 20:43
为人民服务
阅读(1349)
推荐(0)
c#通过SendMessage发送消息
摘要:c#通过SendMessage发送消息,改变其他程序的下拉框控件(ComboBox)的值 IntPtr mwh = (IntPtr)Convert.ToInt32(handle); //ComboBox的句柄int result = SendMessage(mwh, 0x014D, -1, selectStr); //改变ComboBox的值,selectStr为预期的下拉框选项int mwh_p = GetWindowLong(mwh, -8); //获取ComboBox所属窗口的句柄 IntPtr mwh2 = (IntPtr)Convert.ToInt32(mwh_p); //转换Com
阅读全文
posted @
2012-02-09 20:42
为人民服务
阅读(2246)
推荐(0)