myamanda

博客园 首页 新随笔 联系 订阅 管理

2009年11月25日 #

摘要: 我们都知道要实现根据程序的需要动态分配存储空间,在C中需要使用到stdlib.h中的两个函数,malloc,free,两个函数的介绍如下: malloc函数的原型为: void *malloc (u igned int size) 其作用是在内存的动态存储区中分配一个长度为size的连续空间。其参数是一个无符号整形数,返回值是一个指向所分配的连续存储域的起始地址的指针。还有 一点必须注意的是,当... 阅读全文
posted @ 2009-11-25 14:07 myamanda 阅读(1262) 评论(0) 推荐(0)

摘要: 因显示器的分辩率的不一致而影响软件界面及人机正常交互的情形太多了。通常,我们的应用可能用VB、Delphi、PB等不同语言实现的,如果在各种语言中都调用API来实现动态的变屏幕设置的话,先不管调用能否成功,光一个DEVMODE结构在不同语言的定义就需要半天。能不能自己做一个DLL,装封几个简单的动态改变屏幕分辨率的函数,以达到不同语言均可调用的目的呢?作者进行了一番探索。Delphi语言封装大部分... 阅读全文
posted @ 2009-11-25 14:03 myamanda 阅读(301) 评论(0) 推荐(0)

摘要: Windows的启动模式可以分为正常模式和安全模式,在安全模式下,有很多功能被限制使用,比如多媒体功能、网络功能等。有时,我们编写的程序正好需要这些被限制的功能,因此我们希望当程序运行时能自动检测当前Windows所处的启动模式是不是安全模式,以确定是否继续运行程序。  那么如何在Delphi程序中检测当前的Windows是以正常模式还是安全模式启动的?这需要使用到API函数GetSystemMe... 阅读全文
posted @ 2009-11-25 14:02 myamanda 阅读(195) 评论(0) 推荐(0)

摘要: ---- OLE自动化是Windows应用程序之间互相操纵的一种技巧。被操纵的一方称为自动化服务器(也称自动化对象),典型的自动化服务器有Microsoft Word、Excel和Powerpoint。操纵自动化服务器的一方称为自动化控制器。在开发数据库应有程序中,经常需要借助Microsoft Excel的强大报表功能,把数据库中的数据输出到Excel表格中。Delphi 5.0以前的版本... 阅读全文
posted @ 2009-11-25 14:01 myamanda 阅读(274) 评论(0) 推荐(0)

摘要: 在Delphi中,定位文件的操作主要有两种方法。一种是直接定位文件,即通过“打开”对话框(OpenDialog)控件来实现。另一种是只定位到文件夹,然后再在此文件夹内寻找文件,这种定位方法是利用Delphi提供的SelectDirectory函数。这个函数是在FileCtrl单元中定义的,因此在使用时不要忘记在Uses中加入单元名。   下面就以一个例子来说明这两种方法在... 阅读全文
posted @ 2009-11-25 14:00 myamanda 阅读(336) 评论(0) 推荐(0)

摘要: Delphi中提供了很完备的Windows API函数的调用接口,可以方便的进行高级Windows编程。利用Delphi中的FindFirst函数可以得到一个文件的属性记录,该记录中的FindData域中就记载了详细的文件时间信息。然而遗憾的是,FindData中的时间信息是不能直接得到的。因此,本人编写了一个转换函数来完成文件时间格式的转换。下面给出了具体的实现方法,仅供参考:function... 阅读全文
posted @ 2009-11-25 13:59 myamanda 阅读(552) 评论(0) 推荐(0)

摘要: 一、敏感键的设置 ---- 在windows Api中有一个函数RegisterHotKey用于设置敏感键,它的调用方式如下: BOOL RegisterHotKey(HWND hWnd, //响应该敏感键的窗口句柄Int id, //该敏感键的唯一标示符UINT fsModifiers, //该敏感键的辅助按键UINT vk //该敏感键的键值); ---- 其中敏感键的唯一标示符在W... 阅读全文
posted @ 2009-11-25 13:58 myamanda 阅读(190) 评论(0) 推荐(0)

摘要: Windows 下一个典型的特征就是多任务,我们可以同时打开多个窗口进行操作,也可以同时运行程序的多个实例,比如可以打开许多个资源管理器进行文件的移动复制操作。但有时出于某种考虑(比如安全性),我们要做出一些限制,让程序只能够运行一个实例。在Delphi编程中,笔者总结出了以下几种方法:   一、 查找窗口法   这是最为简单的一种方法。在程序运行前用FindWindow函数查找具有相同窗口... 阅读全文
posted @ 2009-11-25 13:57 myamanda 阅读(172) 评论(0) 推荐(0)

摘要: 调用ProcessMessages方法可以中断应用程序的执行,将控制权交给系统,使之可以响应其他事件。这样,调用ProcessMessages方法时若发生了其他事件,Windows可以有时间来处理这些事件。调用该方法可以轮转Windows的消息环,当消息环为空时,应用程序将控制权交还给应用程序。系统忽略正在处理的消息,但是,它只影响调用了ProcessMessages方法的应用程序,而不影响其他应... 阅读全文
posted @ 2009-11-25 13:56 myamanda 阅读(255) 评论(0) 推荐(0)

摘要: 在实际应用中,我们经常需要多个程序相互配合来完成某些特定功能。例如两个应用程序间的同步、互斥;应用程序在起第二份实例时的参数自动传递…。要实现这些功能,就必须能实现程序间的数据传递。 有些特殊的高级技术可在不同的程序间传递数据,如剪贴板、动态数据交换以及OLE自动化,但有条件限制并且相对较复杂。这里,我介绍三种有效的底层技术,希望对编程爱好者有所帮助。 利用WM_COPYDATA消... 阅读全文
posted @ 2009-11-25 13:55 myamanda 阅读(832) 评论(0) 推荐(0)