OS
文章平均质量分 52
金卯刀
擅长Windows应用研发,熟悉C#,WPF,Winfom,Delphi。专注CAD、BIM技术领域。
展开
-
Integrity levels (IL) 完整性标签
一、原理介绍Vista 引进一个新的概念 Integrity levels (IL) 完整性标签 Integritylevels (IL) 完整性标签 定义的级别如下:NameSIDRIDLow Mandatory LevelS-1-16-40960x1000原创 2010-04-21 11:03:00 · 4333 阅读 · 0 评论 -
A Programmer's Exploration of Vista's User Account Control
A Programmer's Exploration of Vista's User Account Control<br />Vista's User Account Control (UAC) improves security, but making it work smoothly requires a little more developer work. Find out what you need to know to code Vista UAC-aware applications.by翻译 2010-10-08 10:39:00 · 1073 阅读 · 0 评论 -
关于异常处理与程序性能
<br /> windows下,高级语言实现的异常,只要以Windows SEH(结构化异常处理)为顶层(异常处理栈底),都会使得CPU工作模式由用户模式转入内核模式。这代价相对在同一模式下执行来说,会比较高。程序的稳定总要牺牲性能的。<br /> 所以在对性能要求比较高程序中,对于一些可预见的错误,尽量减少异常处理。<br /> 以下是异常处理的顺序:<br />发生异常时系统的处理顺序(by Jeremy Gordon): <br /> 1.系统首先判断异常是否应发送给目标程序的异原创 2010-10-11 09:57:00 · 979 阅读 · 0 评论 -
Com线程模型及工作方式
<br />COM 对象可以用于一个进程的多线程。“单线程单元” (STA) 和“多线程单元” (MTA) 术语用于为描述对象与线程间的关系、对象间的并行关系、使用何种方法将调用传递给对象的方式以及在线程间传递接口指针的规则而建立的概念框架。组件及其客户可以在 COM 目前支持的以下两个单元模型之间进行选择: <br />单线程单元模型 (STA):进程中一个或多个线程使用 COM ,并且 COM 对象的调用由 COM 进行同步。在线程间对接口进行编组。单线程单元模型的退化情况(其中,在给定的进程中只有一个翻译 2010-12-27 11:30:00 · 1111 阅读 · 0 评论 -
如何获取多核、多cpu系统中指定cpu的序列号
<br />如何获取多核、多cpu系统中指定cpu的序列号<br />作者:SkyJacker<br />(转贴请保持完整并注明作者和出处)<br />http://www.cnpack.org<br /><br />在多cpu、多核中,会随机的获得不同的序列号.这就为我们根据cpu序列号来制作注册机带来了很大的麻烦。<br />Windows 2000/xp允许设置进程和线程的亲缘性。换句话说,可以控制哪个 CPU 能够运行某些线程。这称为硬亲缘性。Windows提供了设置亲缘性的函数SetProcess转载 2011-02-12 09:31:00 · 1607 阅读 · 0 评论 -
关于WM_Notify和WM_Command
The original Windows controls sent their notifications inWM_COMMAND messages.『原生的window控件是以WM_Command消息来发送通知』The standard 32-bitwP翻译 2011-10-14 11:06:27 · 931 阅读 · 0 评论 -
How to Run the OnScreenKeyboard
From a 32Bit application, Windows makes sure that you cannot access the Windows\System32 folder because this is the place where Windows has all its 64bit DLLs and other files. Since a 32Bit app cannot转载 2013-05-13 10:57:58 · 1271 阅读 · 0 评论 -
Optimize file system operations
I shouldn't have to pinvoke to get the best out of the local and remote filesystems.Here notes of various optimizations .NET could be performing, pooled from various forums./* * On Windo转载 2013-11-25 15:31:05 · 1233 阅读 · 0 评论 -
如何在指定的终端会话中启动程序
First we obtain the user’s primary access token with the WtsQueryUserToken API call. To call this function successfully, the calling application must be running within the context of the LocalSyste转载 2014-07-29 09:26:38 · 2440 阅读 · 4 评论 -
磁盘主引导区
硬盘主引导扇区是一个敏感的区域, 它的安全与否直接决定硬盘是否能够正常使用。 深入认识和灵活使用硬盘主引导扇区将有助于你的系统维护和许多特殊工作完成。<br /> 一、与DOS 引导扇区的区别<br /> 对于DOS系统来说, 有两种不同的引导扇区,即DOS 引导扇区和硬盘主引导扇区。 DOS 引导扇区存在于软盘的第一逻辑扇区或硬盘DOS分区的第一逻辑扇区,是用FORMAT命令对磁盘格式化时产生的, 是引导DOS 系统或正确使用磁盘的必要条件,在DOS下可用DEBUG方便地读出:<br /> C>DE转载 2010-06-13 17:08:00 · 2834 阅读 · 1 评论 -
SendMessage妙用
Delphi用SendMessage获取目录下所有文件━━━━━━━━━━━━━━━━━━━━━━━━━━procedure TForm1.btn1Click(Sender: TObject);constDIRATTR = DDL_READWRITE or DDL_READONLY or DDL_HIDDEN or DDL_SYSTEM orDDL_ARCHIVE or DDL_DIRECTORY {or DDL_DRIVES} ;sPath = 'F:/音乐'; //目录可以自原创 2010-06-13 09:23:00 · 1091 阅读 · 0 评论 -
WM_Paint消息小結
WM_PAINT消息小结 hanlray@gmail.com Revision: 1.0 Date: 2005/08/14 WM_PAINT是Windows窗口系统中一条重要的消息,应用程序通过处理该消息实现在窗口上的绘制工作。 1. 系统何时发送WM_PAINT消息? 系统会在多个不同的时机发送WM_PAINT消息:当第一次创建一个窗口时,当改变窗口的大小时,当把窗口从另一个窗口背后移转载 2010-04-28 14:24:00 · 910 阅读 · 0 评论 -
窗口類(window CLass)介紹
前幾天逛msdn,看了一下關於window class的介紹,發現有些東西沒有注意到的,特此翻譯 窗口類的類別:有三種——systemClasses、Application Global Classes、ApplicationLocal Classes這三種的不同在于作用域以及何時、如何注冊和銷毀方面。 SysTemClasses所謂的SystemClasses翻译 2010-04-28 15:44:00 · 2356 阅读 · 0 评论 -
WM_PAINT和WM_ERASEBKGND區別
WM_Paint並不是每次都畫整個窗體,而是根據需要,重畫“無效區域”。 例如,當我們在窗體上拖動一個button,若只發送了矩形的新位置給WM_PAINT,而沒有發送原先矩形所在的舊位置給WM_ERASEBKGND,那麼在button原先所在的矩形區域就會有殘留的畫面。 WM_ERASEBKGND並不是必須的,但如果窗體的表面發生變化(如原來被其他窗口蓋原创 2010-04-28 14:27:00 · 1542 阅读 · 0 评论 -
DESKBAND開發介紹
一.Band对象介绍 Windows的区(Bands)对象有三种:浏览栏(Explorer Bar)区对象,工具栏(Tools Bands)区对象,和桌面区对象(Desk Bands)。本文主要讲一下桌面区对象的实现。Desk Band出现在任务栏上,也可以是桌面浮动窗口。通过在任务栏上单击右键,然后在弹出的菜单中选择“工具栏”的子菜单项。如下图所示:实现1(对象介绍)"转载 2010-04-30 10:18:00 · 4063 阅读 · 2 评论 -
Get TaskBar handle
用一個未公開的APIfunction TaskmanWindow: HWND;type TGetTaskmanWindow = function(): HWND; stdcall;var hUser32: THandle; GetTaskmanWindow: TGetTaskmanWindow;begin Result := 0; hUser32 :=原创 2010-04-30 10:01:00 · 1068 阅读 · 0 评论 -
用delphi 透過ATL實現DeskBand——準備
1、新建一個工程,project----import Type library,添加shDocVw.Dll,自動生成類型庫,這在d5以上版本已經有了,可略過; 2、下面說明幾個需要實現的接口 IDestBand : 這個是主要部分,這裡實現的方法可以定義我們自己的DeskBand,比如它的標題、大小還有類型等; IPersist, IPersistStream原创 2010-04-30 11:01:00 · 1758 阅读 · 0 评论 -
SetSystemTime and SetLocalTime
<br /> 前天使用SetSystemTime设置本机的时间,发现总设置不对,多出8小时,查msdn,也没注意到是UTC的关系。<br /> 后来才知道,系统会把这个时间作为本初子午线的时间,然后再加上时区。<br /> 最后采用了SetLocalTime。原创 2010-06-09 16:26:00 · 2391 阅读 · 0 评论 -
关于获取计算机唯一ID问题
1:CPU序列号,并不是每颗CPU都有一个唯一的序列号,CPU试每种型号一个序列号,其实可以认为是CPU型号号码。PIII以前的计算机没有ID,而且AMD的CPU也没有ID。2:硬盘序列号,每块硬盘都有一个唯一序列号,但是三星硬盘没有序列号。因为三星硬盘不多见,总体来说硬盘序列号还是比较好用的。3:网卡序列号,全球唯一,每卡毕有,但每台计算机未必装网卡,有的还可能装有多卡,不好用。原创 2010-06-10 12:19:00 · 13554 阅读 · 1 评论 -
Sessions, Desktops and Windows Stations
Today we are going to briefly go over the basics of some concepts that can be pretty confusing even at the best of times - Sessions, Desktops and Windows Stations. So let's dive right in ...A sessi转载 2014-07-29 15:55:32 · 1463 阅读 · 0 评论