Delphi笔记整理(二)
◇[DELPHI]字符的加密與解密?
function?cryptstr(const?s:string;?stype:?dword):string;
var
i:?integer;
fkey:?integer;
begin
result:='';
case?stype?of
0:?setpass;
begin
randomize;
fkey?:=?random($ff);
for?i:=1?to?length(s)?do
result?:=?result+chr(?ord(s[i])?xor?i?xor?fkey);
result?:=?result?+?char(fkey);
end;
1:?getpass
begin
fkey?:=?ord(s[length(s)]);
for?i:=1?to?length(s)?-?1?do
result?:=?result+chr(?ord(s[i])?xor?i?xor?fkey);
end;
end;
□◇[DELPHI]向其他應用程序發送模擬鍵
var
h:?THandle;
begin
h?:=?FindWindow(nil,?'應用程序標題');
PostMessage(h,?WM_KEYDOWN,?VK_F9,?0);//發送F9鍵
end;
?
□◇[DELPHI]得到圖像上某一點的RGB值
procedure?TForm1.Image1MouseDown(Sender:?TObject;?Button:?TMouseButton;
Shift:?TShiftState;?X,?Y:?Integer);
var
red,green,blue:byte?;
i:integer;
begin
i:=?image1.Canvas.Pixels[x,y];
Blue:=?GetBValue(i);
Green:=?GetGValue(i):?
Red:=?GetRValue(i);?
Label1.Caption:=inttostr(Red);
Label2.Caption:=inttostr(Green);
Label3.Caption:=inttostr(Blue);
end;
□◇[DELPHI]關于日期格式分解轉換
var?year,month,day:word;now2:Tdatatime;
now2:=date();
decodedate(now2,year,month,day);
lable1.Text?:=inttostr(year)+'年'+inttostr(month)+'月'+inttostr(day)+'日';?
◇[DELPHI]如何判斷當前網絡連接方式
判斷結果是MODEM、局域網或是代理服務器方式。
uses?wininet;?
Function?ConnectionKind?:boolean;?
var?flags:?dword;?
begin?
Result?:=?InternetGetConnectedState(@flags,?0);?
if?Result?then?
begin?
if?(flags?and?INTERNET_CONNECTION_MODEM)?=?INTERNET_CONNECTION_MODEM?then?
begin?
showmessage('Modem');?
end;?
if?(flags?and?INTERNET_CONNECTION_LAN)?=?INTERNET_CONNECTION_LAN?then?
begin?
showmessage('LAN');?
end;?
if?(flags?and?INTERNET_CONNECTION_PROXY)?=?INTERNET_CONNECTION_PROXY?then?
begin?
showmessage('Proxy');?
end;?
if?(flags?and?INTERNET_CONNECTION_MODEM_BUSY)=INTERNET_CONNECTION_MODEM_BUSY?then?
begin?
showmessage('Modem?Busy');?
end;?
end;?
end;?
◇[DELPHI]如何判斷字符串是否是有效EMAIL地址
function?IsEMail(EMail:?String):?Boolean;?
var?s:?String;ETpos:?Integer;?
begin?
ETpos:=?pos('@',?EMail);?
if?ETpos?>?1?then?
begin?
s:=?copy(EMail,ETpos+1,Length(EMail));?
if?(pos('.',?s)?>?1)?and?(pos('.',?s)?<?length(s))?then?
Result:=?true?else?Result:=?false;?
end?
else?
Result:=?false;?
end;?
◇[DELPHI]判斷系統是否連接INTERNET
需要引入URL.DLL中的InetIsOffline函數。?
函數申明為:
function?InetIsOffline(Flag:?Integer):?Boolean;?stdcall;?external?'URL.DLL';?
然后就可以調用函數判斷系統是否連接到INTERNET
if?InetIsOffline(0)?then?ShowMessage('not?connected!')?
else?ShowMessage('connected!');?
該函數返回TRUE如果本地系統沒有連接到INTERNET。
附:
大多數裝有IE或OFFICE97的系統都有此DLL可供調用。
InetIsOffline
BOOL?InetIsOffline(
DWORD?dwFlags,?
);
◇[DELPHI]簡單地播放和暫停WAV文件
uses?mmsystem;
function?PlayWav(const?FileName:?string):?Boolean;?
begin?
Result?:=?PlaySound(PChar(FileName),?0,?SND_ASYNC);?
end;?
procedure?StopWav;?
var?
buffer:?array[0..2]?of?char;?
begin?
buffer[0]?:=?#0;?
PlaySound(Buffer,?0,?SND_PURGE);?
end;?
◇[DELPHI]取機器BIOS信息
with?Memo1.Lines?do?
begin?
Add('MainBoardBiosName:'+^I+string(Pchar(Ptr($FE061))));?
Add('MainBoardBiosCopyRight:'+^I+string(Pchar(Ptr($FE091))));?
Add('MainBoardBiosDate:'+^I+string(Pchar(Ptr($FFFF5))));?
Add('MainBoardBiosSerialNo:'+^I+string(Pchar(Ptr($FEC71))));?
end;?
◇[DELPHI]網絡下載文件
uses?UrlMon;
function?DownloadFile(Source,?Dest:?string):?Boolean;?
begin?
try?
Result?:=?UrlDownloadToFile(nil,?PChar(source),?PChar(Dest),?0,?nil)?=?0;?
except?
Result?:=?False;?
end;?
end;?
if?DownloadFile('http://www.borland.com/delphi6.zip,?'c:\kylix.zip')?then?
ShowMessage('Download?succesful')?
else?ShowMessage('Download?unsuccesful')?
◇[DELPHI]解析服務器IP地址
uses?winsock?
function?IPAddrToName(IPAddr?:?String):?String;?
var?
SockAddrIn:?TSockAddrIn;?
HostEnt:?PHostEnt;?
WSAData:?TWSAData;?
begin?
WSAStartup($101,?WSAData);?
SockAddrIn.sin_addr.s_addr:=?inet_addr(PChar(IPAddr));?
HostEnt:=?gethostbyaddr(@SockAddrIn.sin_addr.S_addr,?4,?AF_INET);?
if?HostEnt<>nil?then?result:=StrPas(Hostent^.h_name)?else?result:='';?
end;?
◇[DELPHI]取得快捷方式中的連接
function?ExeFromLink(const?linkname:?string):?string;?
var?
FDir,?
FName,?
ExeName:?PChar;?
z:?integer;?
begin?
ExeName:=?StrAlloc(MAX_PATH);?
FName:=?StrAlloc(MAX_PATH);?
FDir:=?StrAlloc(MAX_PATH);?
StrPCopy(FName,?ExtractFileName(linkname));?
StrPCopy(FDir,?ExtractFilePath(linkname));?
z:=?FindExecutable(FName,?FDir,?ExeName);?
if?z?>?32?then?
Result:=?StrPas(ExeName)?
else?
Result:=?'';?
StrDispose(FDir);?
StrDispose(FName);?
StrDispose(ExeName);?
end;?
◇[DELPHI]控制TCombobox的自動完成
{'Sorted'?property?of?the?TCombobox?to?true?}?
var?lastKey:?Word;?//全局變量
//TCombobox的OnChange事件?
procedure?TForm1.AutoCompleteChange(Sender:?TObject);?
var?
SearchStr:?string;?
retVal:?integer;?
begin?
SearchStr?:=?(Sender?as?TCombobox).Text;?
if?lastKey?<>?VK_BACK?then?//?backspace:?VK_BACK?or?$08?
begin?
retVal?:=?(Sender?as?TCombobox).Perform(CB_FINDSTRING,?-1,?LongInt(PChar(SearchStr)));?
if?retVal?>?CB_Err?then?
begin?
(Sender?as?TCombobox).ItemIndex?:=?retVal;?
(Sender?as?TCombobox).SelStart?:=?Length(SearchStr);?
(Sender?as?TCombobox).SelLength?:=?
(Length((Sender?as?TCombobox).Text)?-?Length(SearchStr));?
end;?//?retVal?>?CB_Err?
end;?//?lastKey?<>?VK_BACK?
lastKey?:=?0;?//?reset?lastKey?
end;?
//TCombobox的OnKeyDown事件
procedure?TForm1.AutoCompleteKeyDown(Sender:?TObject;?var?Key:?Word;?
Shift:?TShiftState);?
begin?
lastKey?:=?Key;?
end;?
◇[DELPHI]如何清空一個目錄?
function?EmptyDirectory(TheDirectory?:String?;?Recursive?:?Boolean)?:
Boolean;
var
SearchRec?:?TSearchRec;
Res?:?Integer;
begin
Result?:=?False;
TheDirectory?:=?NormalDir(TheDirectory);
Res?:=?FindFirst(TheDirectory?+?'*.*',?faAnyFile,?SearchRec);
try
while?Res?=?0?do
begin
if?(SearchRec.Name?<>?'.')?and?(SearchRec.Name?<>?'..')?then
begin
if?((SearchRec.Attr?and?faDirectory)?>?0)?and?Recursive
then?begin
EmptyDirectory(TheDirectory?+?SearchRec.Name,?True);
RemoveDirectory(PChar(TheDirectory?+?SearchRec.Name));
end
else?begin
DeleteFile(PChar(TheDirectory?+?SearchRec.Name))
end;
end;
Res?:=?FindNext(SearchRec);
end;
Result?:=?True;
finally
FindClose(SearchRec.FindHandle);
end;
end;
◇[DELPHI]如何計算一個目錄的大小?
function?GetDirectorySize(const?ADirectory:?string):?Integer;
var
Dir:?TSearchRec;
Ret:?integer;
Path:?string;
begin
Result?:=?0;
Path?:=?ExtractFilePath(ADirectory);
Ret?:=?Sysutils.FindFirst(ADirectory,?faAnyFile,?Dir);
if?Ret?<>?NO_ERROR?then?exit;
try
while?ret=NO_ERROR?do
begin
inc(Result,?Dir.Size);
if?(Dir.Attr?in?[faDirectory])?and?(Dir.Name[1]?<>?'.')?then
Inc(Result,?GetDirectorySize(Path?+?Dir.Name?+?'\*.*'));
Ret?:=?Sysutils.FindNext(Dir);
end;
finally
Sysutils.FindClose(Dir);
end;
end;
◇[DELPHI]安裝程序如何添加到Uninstall列表
操作注冊表,如下:
1.在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall鍵下建立一個主鍵,名
稱任意。
例HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyUninstall
2.在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyUnistall下鍵兩個串值
,
這兩個串值的名稱是特定的:DisplayName和UninstallString。
3.給串DisplayName賦值為顯示在“刪除應用程序列表”中的名稱,如'Aiming?Uninstall?one';
給串UninstallString賦值為執行的刪除命令,如?C:\WIN97\uninst.exe?-f"C:\TestPro\aimTest.isu"
◇[DELPHI]截獲WM_QUERYENDSESSION關機消息
type
TForm1?=?class(TForm)
procedure?WMQueryEndSession(var?Message:?TWMQueryEndSession);?message?WM_QUERYENDSESSION;
procedure?CMEraseBkgnd(var?Message:TWMEraseBkgnd);Message?WM_ERASEBKGND;
private
{?Private?declarations?}
public
{?Public?declarations?}
end;
procedure?TForm1.WMQueryEndSession(var?Message:?TWMQueryEndSession);
begin
Showmessage('computer?is?about?to?shut?down');
end;
◇[DELPHI]獲取網上鄰居
procedure?getnethood();//NT做服務器,WIN98上調試通過。
var
a,i:integer;
errcode:integer;
netres:array[0..1023]?of?netresource;
enumhandle:thandle;
enumentries:dword;
buffersize:dword;
s:string;
mylistitems:tlistitems;
mylistitem:tlistitem;
alldomain:tstrings;
begin?//listcomputer?is?a?listview?to?list?all?computers;controlcenter?is?a?form.
alldomain:=tstringlist.Create?;
with?netres[0]?do?begin
dwscope?:=RESOURCE_GLOBALNET;
dwtype?:=RESOURCETYPE_ANY;
dwdisplaytype?:=RESOURCEDISPLAYTYPE_DOMAIN;
dwusage?:=RESOURCEUSAGE_CONTAINER;
lplocalname?:=nil;
lpremotename?:=nil;
lpcomment?:=nil;
lpprovider?:=nil;
end;?//?獲取所有的域
errcode:=wnetopenenum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,RESOURCEUSAGE_CONTAINER,@
netres[0],enumhandle);
if?errcode=NO_ERROR?then?begin
enumentries:=1024;
buffersize:=sizeof(netres);
errcode:=wnetenumresource(enumhandle,enumentries,@netres[0],buffersize);
end;
a:=0;
mylistitems?:=controlcenter.lstcomputer.Items?;
mylistitems.Clear?;
while?(string(netres[a].lpprovider)<>'')?and?(errcode=NO_ERROR)?do
begin
alldomain.Add?(netres[a].lpremotename);
a:=a+1;
end;
wnetcloseenum(enumhandle);
//?獲取所有的計算機
mylistitems?:=controlcenter.lstcomputer.Items?;
mylistitems.Clear?;
for?i:=0?to?alldomain.Count-1?do
begin
with?netres[0]?do?begin
dwscope?:=RESOURCE_GLOBALNET;
dwtype?:=RESOURCETYPE_ANY;
dwdisplaytype?:=RESOURCEDISPLAYTYPE_SERVER;
dwusage?:=RESOURCEUSAGE_CONTAINER;
lplocalname?:=nil;
lpremotename?:=pchar(alldomain[i]);
lpcomment?:=nil;
lpprovider?:=nil;
end;
ErrCode:=WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,RESOURCEUSAGE_CONTAINER,
@netres[0],EnumHandle);
if?errcode=NO_ERROR?then
begin
EnumEntries:=1024;
BufferSize:=SizeOf(NetRes);
ErrCode:=WNetEnumResource(EnumHandle,EnumEntries,@NetRes[0],BufferSize);
end;
a:=0;
while?(string(netres[a].lpprovider)<>'')?and?(errcode=NO_ERROR)?do
begin
mylistitem?:=mylistitems.Add?;
mylistitem.ImageIndex?:=0;
mylistitem.Caption?:=uppercase(stringreplace(string(NetRes[a].lpremotename),'\\','',[rfReplaceAll]));
a:=a+1;
end;
wnetcloseenum(enumhandle);
end;
end;
◇[DELPHI]獲取某一計算機上的共享目錄
procedure?getsharefolder(const?computername:string);
var
errcode,a:integer;
netres:array[0..1023]?of?netresource;
enumhandle:thandle;
enumentries,buffersize:dword;
s:string;
mylistitems:tlistitems;
mylistitem:tlistitem;
mystrings:tstringlist;
begin
with?netres[0]?do?begin
dwscope?:=RESOURCE_GLOBALNET;
dwtype?:=RESOURCETYPE_DISK;
dwdisplaytype?:=RESOURCEDISPLAYTYPE_SHARE;
dwusage?:=RESOURCEUSAGE_CONTAINER;
lplocalname?:=nil;
lpremotename?:=pchar(computername);
lpcomment?:=nil;
lpprovider?:=nil;
end;?//?獲取根結點
errcode:=wnetopenenum(RESOURCE_GLOBALNET,RESOURCETYPE_DISK,RESOURCEUSAGE_CONTAINER,
@netres[0],enumhandle);
if?errcode=NO_ERROR?then
begin
EnumEntries:=1024;
BufferSize:=SizeOf(NetRes);
ErrCode:=WNetEnumResource(EnumHandle,EnumEntries,@NetRes[0],BufferSize);
end;
wnetcloseenum(enumhandle);
a:=0;
mylistitems:=controlcenter.lstfile.Items?;
mylistitems.Clear?;
while?(string(netres[a].lpprovider)<>'')?and?(errcode=NO_ERROR)?do
begin
with?mylistitems?do
begin
mylistitem:=add;
mylistitem.ImageIndex?:=4;
mylistitem.Caption?:=extractfilename(netres[a].lpremotename);
end;
a:=a+1;
end;
end;
◇[DELPHI]得到硬盤序列號
var?SerialNum?:?pdword;?a,?b?:?dword;?Buffer?:?array?[0..255]?of?char;?
begin?
if?GetVolumeInformation('c:\',?Buffer,?SizeOf(Buffer),?SerialNum,?a,?b,?nil,?0)?then?Label1.Caption?:=?
IntToStr(SerialNum^);?
end;?
◇[DELPHI]MEMO的自動翻頁
Procedure?ScrollMemo(Memo?:?TMemo;?Direction?:?char);?
begin?
case?direction?of?
'd':?begin?
SendMessage(Memo.Handle,?{?HWND?of?the?Memo?Control?}?
WM_VSCROLL,?{?Windows?Message?}?
SB_PAGEDOWN,?{?Scroll?Command?}?
0)?{?Not?Used?}?
end;?
'u'?:?begin?
SendMessage(Memo.Handle,?{?HWND?of?the?Memo?Control?}?
WM_VSCROLL,?{?Windows?Message?}?
SB_PAGEUP,?{?Scroll?Command?}?
0);?{?Not?Used?}?
end;?
end;?
end;?
procedure?TForm1.Button1Click(Sender:?TObject);?
begin?
ScrollMemo(Memo1,'d');?//上翻頁
end;?
procedure?TForm1.Button1Click(Sender:?TObject);?
begin?
ScrollMemo(Memo1,'u');?//下翻頁
end;?
◇[DELPHI]DBGrid中回車到下個位置(Tab鍵)
procedure?TForm1.DBGrid1KeyPress(Sender:?TObject;?var?Key:?Char);
begin
if?Key?=?#13?then
if?DBGrid1.Columns.Grid.SelectedIndex?<?DBGrid1.Columns.Count?-?1?then
DBGrid1.Columns[DBGrid1.Columns.grid.SelectedIndex?+?1].Field.FocusControl
else
begin?
Table1.next;
DBGrid1.Columns[0].field.FocusControl;
end;
end;
◇[DELPHI]如何安裝控件
安裝方法:
1.對于單個控件,Component-->install?component..-->PAS或DCU文件-->install
2.對于帶*.dpk文件的控件包,File-->open(下拉列表框中選*.dpk)-->install即可.
3.對于帶*.dpl文件的控件包,Install?Packages-->Add-->dpl文件名即可。
4.如果以上Install按鈕為失效的話,試試Compile按鈕。
5.是run?time?lib則在option下的packages下的runtimepackes加之.
如果編譯時提示文件找不到的話,一般是控件的安裝目錄不在delphi的Lib目錄中,有兩種方法可以解決:
1.把安裝的原文件拷入到delphi的Lib目錄下。
2.或者Tools-->Environment?Options中把控件原代碼路徑加入到Delphi的Lib目錄中即可。
◇[DELPHI]目錄完全刪除(deltree)
procedure?TForm1.DeleteDirectory(strDir:String);?
var?
sr:?TSearchRec;?
FileAttrs:?Integer;?
strfilename:string;?
strPth:string;?
begin?
strpth:=Getcurrentdir();?
FileAttrs?:=?faAnyFile;?
if?FindFirst(strpth+'\'+strdir+'\*.*',?FileAttrs,?sr)?=?0?then?
begin?
if?(sr.Attr?and?FileAttrs)?=?sr.Attr?then?
begin?
strfilename:=sr.Name;?
if?fileexists(strpth+'\'+strdir+'\'+strfilename)?then?
deletefile(strpth+'\'+strdir+'\'+strfilename);?
end;?
while?FindNext(sr)?=?0?do?
begin?
if?(sr.Attr?and?FileAttrs)?=?sr.Attr?then?
begin?
strfilename:=sr.name;?
if?fileexists(strpth+'\'+strdir+'\'+strfilename)?then?
deletefile(strpth+'\'+strdir+'\'+strfilename);?
end;?
end;?
FindClose(sr);?
removedir(strpth+'\'+strdir);?
end;?
end;
◇[DELPHI]取得TMemo?控件當前光標的行和列信息到Tpoint中?
1.function?ReadCursorPos(SourceMemo:?TMemo):?TPoint;?
var?Point:?TPoint;?
begin?
point.y?:=?SendMessage(SourceMemo.Handle,EM_LINEFROMCHAR,SourceMemo.SelStart,0);?
point.x?:=?SourceMemo.SelStart-SendMessage(SourceMemo.Handle,EM_LINEINDEX,point.y,0);?
Result?:=?Point;
end;?
2.LineLength:=SendMessage(memol.handle,EM—LINELENGTH,Cpos,0);//行長
◇[DELPHI]讀硬盤序列號?
function?GetDiskSerial(DiskChar:?Char):?string;
var
SerialNum?:?pdword;
a,?b?:?dword;
Buffer?:?array?[0..255]?of?char;
begin
result?:=?"";
if?GetVolumeInformation(PChar(diskchar+":\"),?Buffer,?SizeOf(Buffer),?SerialNum,
a,?b,?nil,?0)?then
Result?:=?IntToStr(SerialNum^);
end;
◇[INTERNET]CSS常用綜合技巧
1。P:first-letter?{?font-size:?300%;?float:?left?}//首字會比普通字體加大三倍。
2。<LINK?REL=StyleSheet?HREF="basics.css"?TITLE="Contemporary">//連接一個外部樣式表
3。嵌入一個樣式表
<STYLE?TYPE="text/css"?MEDIA=screen>
<!--
@import?url(http://www.htmlhelp.com/style.css);//外部導入一個樣式表
@import?url(/stylesheets/punk.css);//同上
BODY?{?background:?url(foo.gif)?red;?color:?black?}
.punk?{?color:?lime;?background:?#ff80c0?}//引用見5。
#wdg97?{?font-size:?larger?}//引用見6。
-->
</STYLE>
4。<P?STYLE="color:?red;?font-family:?'New?Century?Schoolbook',?serif">?//內聯樣式
<SPAN?STYLE="font-family:?Arial">Arial</SPAN>//SPAN接受STYLE、CLASS和ID屬性
<DIV?CLASS=note><P>DIV可以包含段落、標題、表格甚至其它部分</P></DIV>
5。<H1?CLASS=punk>CLASS屬性</H1>//定義見3。
6。<P?ID=wdg97>ID屬性</P>//定義見3。
7。屬性列表
字體風格:font-style:?[normal?|?italic?|?oblique];
字體大小:font-size:?[xx-small?|?x-small?|?small?|?medium?|?large?|?x-large?|?xx-large?|?larger?|?smaller?|?<長度>?
|?<百分比>]
文本修飾:text-decoration:[?underline?||?overline?||?line-through?||?blink?]
文本轉換:text-transform:[none?|?capitalize?|?uppercase?|?lowercase]
背景顏色:background-color:[<顏色>?|?transparent]
背景圖象:background-image:[<URLs>?|?none]
行高:line-height:?[normal?|?<數字>?|?<長度>?|?<百分比>]
邊框樣式:border-style:?[?none?|?dotted?|?dashed?|?solid?|?double?|?groove?|?ridge?|?inset?|?outset?]
漂浮:float:?[left?|?right?|?none]
8。長度單位
相對單位:
em?(em,元素的字體的高度)?
ex?(x-height,字母?"x"?的高度)?
px?(像素,相對于屏幕的分辨率)?
絕對長度:
in?(英寸,1英寸=2.54厘米)?
cm?(厘米,1厘米=10毫米)?
mm?(米)?
pt?(點,1點=1/72英寸)?
pc?(帕,1帕=12點)?
◇[DELPHI]VCL制作簡要步驟
1.創建部件屬性方法事件
(建立庫單元,繼承為新的類型,添加屬性、方法、事件,注冊部件,建立包文件)
2.消息處理
3.異常處理
4.部件可視
◇[DELPHI]動態連接庫的裝載
靜態裝載:procedure?name;external?'lib.dll';
動態裝載:var?handle:Thandle;
handle:=loadlibrary('lib.dll');
if?handle<>0?then
begin
{dosomething}
freelibrary(handle);
end;
◇[DELPHI]指針變量和地址
var?x,y:integer;p:^integer;//指向INTEGER變量的指針
x:=10;//變量賦值
p:=@x;//變量x的地址
y:=p^;//為Y賦值指針P
@@procedure//返回過程變量的內存地址
◇[DELPHI]判斷字符是漢字的一個字符
ByteType('你好haha嗎',1)?=?mbLeadByte//是第一個字符
ByteType('你好haha嗎',2)?=?mbTrailByte//是第二個字符
ByteType('你好haha嗎',5)?=?mbSingleByte//不是中文字符
◇[DELPHI]memo的定位操作
memo1.lines.delete(0)//刪除第1行
memo1.selstart:=10//定位10字節處
◇[DELPHI]獲得雙字節字符內碼
function?getit(s:?string):?integer;
begin
Result?:=?byte(s[1])?*?$100?+?byte(s[2]);
end;
使用:getit('計')//$bcc6?即十進制?48326
◇[DELPHI]調用ADD數據存儲過程
存儲過程如下:
create?procedure?addrecord(
record1?varchar(10)
record2?varchar(20)
)
as
begin
insert?into?tablename?(field1,field2)?values(:record1,:record2)
end
執行存儲過程:
EXECUTE?procedure?addrecord("urrecord1","urrecord2")?
◇[DELPHI]將文件存到blob字段中
function?blobcontenttostring(const?filename:?string):string;
begin
with?tfilestream.create(filename,fmopenread)?do
try
setlength(Result,size);
read(Pointer(Result)^,size);
finally
free;
end;
end;
//保存字段
begin
if?(opendialog1.execute)?then
begin
sFileName:=OpenDialog1.FileName;
adotable1.edit;
adotable1.fieldbyname('visio').asstring:=Blobcontenttostring(FileName);
adotable1.post;
end;
◇[DELPHI]把文件全部復制到剪貼板
uses?shlobj,activex,clipbrd;
procedure?Tform1.copytoclipbrd(var?FileName:string);
var
FE:TFormatEtc;
Medium:?TStgMedium;
dropfiles:PDropFiles;
pFile:PChar;
begin
FE.cfFormat?:=?CF_HDROP;
FE.dwAspect?:=?DVASPECT_CONTENT;
FE.tymed?:=?TYMED_HGLOBAL;
Medium.hGlobal?:=?GlobalAlloc(GMEM_SHARE?or?GMEM_ZEROINIT,?SizeOf(TDropFiles)+length(FileName)+1);
if?Medium.hGlobal<>0?then?begin
Medium.tymed?:=?TYMED_HGLOBAL;
dropfiles?:=?GlobalLock(Medium.hGlobal);
try
dropfiles^.pfiles?:=?SizeOf(TDropFiles);
dropfiles^.fwide?:=?False;
longint(pFile)?:=?longint(dropfiles)+SizeOf(TDropFiles);
StrPCopy(pFile,FileName);
Inc(pFile,?Length(FileName)+1);
pFile^?:=?#0;
finally
GlobalUnlock(Medium.hGlobal);
end;
Clipboard.SetAsHandle(CF_HDROP,Medium.hGlobal);
end;
end;
◇[DELPHI]列舉當前系統運行進程
uses?TLHelp32;
procedure?TForm1.Button1Click(Sender:?TObject);
var?lppe:?TProcessEntry32;
found?:?boolean;
Hand?:?THandle;
begin
Hand?:=?CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
found?:=?Process32First(Hand,lppe);
while?found?do
begin
ListBox1.Items.Add(StrPas(lppe.szExeFile));
found?:=?Process32Next(Hand,lppe);
end;
end;
◇[DELPHI]根據BDETable1建立新表Table2
Table2:=TTable.Create(nil);
try
Table2.DatabaseName:=Table1.DatabaseName;
Table2.FieldDefs.Assign(Table1.FieldDefs);
Table2.IndexDefs.Assign(Table1.IndexDefs);
Table2.TableName:='new_table';
Table2.CreateTable();
finally
Table2.Free();
end;
◇[DELPHI]最菜理解DLL建立和引用
//先看DLL?source(FILE-->NEW-->DLL)
library?project1;
uses
SysUtils,?Classes;
function?addit(f:integer;s:integer):integer;export;
begin
makeasum:=f+s;
end;
exports
addit;
end.
//調用(IN?ur?PROJECT)
implementation
function?addit(f:integer;s:integer):integer;far;external?'project1';//申明
{調用就是addit(2,4);結果顯示6}
◇[DELPHI]動態讀取程序自身大小
function?GesSelfSize:?integer;
var
f:?file?of?byte;
begin
filemode?:=?0;
assignfile(f,?application.exename);
reset(f);
Result?:=?filesize(f);//單位是字節
closefile(f);
end;
◇[DELPHI]讀取BIOS信息
with?Memo1.Lines?do?
begin?
Add('MainBoardBiosName:'+^I+string(Pchar(Ptr($FE061))));?
Add('MainBoardBiosCopyRight:'+^I+string(Pchar(Ptr($FE091))));?
Add('MainBoardBiosDate:'+^I+string(Pchar(Ptr($FFFF5))));?
Add('MainBoardBiosSerialNo:'+^I+string(Pchar(Ptr($FEC71))));?
end;?
◇[DELPHI]動態建立MSSQL別名
procedure?TForm1.Button1Click(Sender:?TObject);
var?MyList:?TStringList;
begin
MyList?:=?TStringList.Create;
try
with?MyList?do
begin
Add('SERVER?NAME=210.242.86.2');
Add('DATABASE?NAME=db');
Add('USER?NAME=sa');
end;
Session1.AddAlias('TESTSQL',?'MSSQL',?MyList);?//ミMSSQL
Session1.SaveConfigFile;
finally
MyList.Free;
Session1.Active:=True;
Database1.DatabaseName:='DB';
Database1.AliasName:='TESTSQL';
Database1.LoginPrompt:=False;
Database1.Params.Add('USER?NAME=sa');
Database1.Params.Add('PASSWORD=');
Database1.Connected:=True;
end;
end;
procedure?TForm1.Button2Click(Sender:?TObject);
begin
Database1.Connected:=False;
Session1.DeleteAlias('TESTSQL');?
end;?
◇[DELPHI]播放背景音樂
uses?mmsystem
//播放音樂
MCISendString('OPEN?e:\1.MID?TYPE?SEQUENCER?ALIAS?NN',?'',?0,?0);
MCISendString('PLAY?NN?FROM?0',?'',?0,?0);
MCISendString('CLOSE?ANIMATION',?'',?0,?0);
end;
//停止播放
MCISendString('OPEN?e:\1.MID?TYPE?SEQUENCER?ALIAS?NN',?'',?0,?0);
MCISendString('STOP?NN',?'',?0,?0);
MCISendString('CLOSE?ANIMATION',?'',?0,?0);
◇[DELPHI]接口和類的一個范例代碼
Type{接口和類申明:區別在于不能在接口中申明數據成員、任何非公有的方法、公共方法不使用PUBLIC關鍵
字}
Isample=interface//定義Isample接口
function?getstring:string;
end;
Tsample=class(TInterfacedObject,Isample)
public
function?getstring:string;
end;
//function定義
function?Tsample.getstring:string;
begin
result:='what?show?is?';
end;
//調用類對象
var?sample:Tsample;
begin
sample:=Tsample.create;
showmessage(sample.getstring+'class?object!');
sample.free;
end;
//調用接口
var?sampleinterface:Isample;
sample:Tsample;
begin
sample:=Tsample.create;
sampleInterface:=sample;//Interface的實現必須使用class
{以上兩行也可表達成sampleInterface:=Tsample.create;}
showmessage(sampleInterface.getstring+'Interface!');
//sample.free;{和局部類不同,Interface中的類自動釋放}
sampleInterface:=nil;{釋放接口對象}
end;
◇[DELPHI]任務條就看不當程序
var
ExtendedStyle?:?Integer;
begin
Application.Initialize;
ExtendedStyle?:=?GetWindowLong?(Application.Handle,?GWL_EXSTYLE);
SetWindowLong(Application.Handle,?GWL_EXSTYLE,?ExtendedStyle?OR?WS_EX_TOOLWINDOW?AND?NOT?
WS_EX_APPWINDOW);
Application.CreateForm(TForm1,?Form1);
Application.Run;
end.?
◇[DELPHI]ALT+CTRL+DEL看不到程序
在implementation后添加聲明:
function?RegisterServiceProcess(dwProcessID,?dwType:?Integer):?Integer;?stdcall;?external?'KERNEL32.DLL';
RegisterServiceProcess(GetCurrentProcessID,?1);//隱藏
RegisterServiceProcess(GetCurrentProcessID,?0);//顯示
◇[DELPHI]檢測光驅符號?
var?drive:char;
cdromID:integer;
begin
for?drive:='d'?to?'z'?do
begin
cdromID:=GetDriveType(pchar(drive+':\'));
if?cdromID=5?then?showmessage('你的光驅為:'+drive+'盤!');
end;
end;
◇[DELPHI]檢測聲卡
if?auxGetNumDevs()<=0?then?showmessage('No?soundcard?found!')?else?showmessage('Any?soundcard?
found!');
◇[DELPHI]在字符串網格中畫圖
StringGrid.OnDrawCell事件
with?StringGrid1.Canvas?do?
Draw(Rect.Left,?Rect.Top,?Image1.Picture.Graphic);?
◇[SQL?SERVER]SQL中代替Like語句的另一種寫法
比如查找用戶名包含有"c"的所有用戶,?可以用?
use?mydatabase?
select?*?from?table1?where?username?like'%c%"?
下面是完成上面功能的另一種寫法:?
use?mydatabase?
select?*?from?table1?where?charindex('c',username)>0?
這種方法理論上比上一種方法多了一個判斷語句,即>0,?但這個判斷過程是最快的,?我想信80%以上的運算都是
花在查找字?
符串及其它的運算上,?所以運用charindex函數也沒什么大不了.?用這種方法也有好處,?那就是對%,|等在不能直
接用like?
查找到的字符中可以直接在這charindex中運用,?如下:?
use?mydatabase?
select?*?from?table1?where?charindex('%',username)>0?
也可以寫成:?
use?mydatabase?
select?*?from?table1?where?charindex(char(37),username)>0?
ASCII的字符即為%?
◇[DELPHI]SQL顯示多數據庫/表
SELECT?DISTINCT?A.bianhao,a.xingming,?b.gongzi?FROM?"jianjie.dbf"?a,?"gongzi.DBF"?b?
WHERE?A.bianhao=b.bianhao
◇[DELPHI]RFC(Request?For?Comment)相關
IETF(Internet?Engineering?Task?Force)維護RFC文檔http://www.ietf.cnri.reston.va.us
RFC882:報文頭標結構
RFC1521:MIME第一部分,傳輸報文方法
RFC1945:多媒體文檔傳輸文檔
◇[DELPHI]TNMUUProcessor的使用
var?inStream,outStream:TFileStream;
begin
inStream:=TFileStream.create(infile.txt,fmOpenRead);
outStream:=TFileStream(outfile.txt,fmCreate);
NMUUE.Method:=uuCode;{UUEncode/Decode}
//NMUUE.Method:=uuMIME;{MIME}
NMUUE.InputStream:=InStream;
NMUUE.OutputStream:=OutStream;
NMUUE.Encode;{編碼處理}
//NMUUE.Decode;{解碼處理}
inStream.free;
outStream.free;
end;
◇[DELPHI]TFileStream的操作
//從文件流當前位置讀count字節到緩沖區BUFFER
function?read(var?buffer;count:longint):longint;override;
//將緩沖區BUFFER讀到文件流中
function?write(const?buffer;count:longint):longint;override;
//設置文件流當前讀寫指針為OFFSET
function?seek(offset:longint;origin:word):longint;override;
origin={soFromBeginning,soFromCurrent,soFromEnd}
//從另一文件流中當前位置復制COUNT到當前文件流當前位置
function?copyfrom(source:TStream;count:longint):longint;
//讀指定文件到文件流
var?myFStream:TFileStream;
begin
myFStream:=TFileStream.create(OpenDialog1.filename,fmOpenRead);
end;
[JavaScript]檢測是否安裝IE插件Shockwave&Quicktime
<script?LANGUAGE="JavaScript">
var?myPlugin?=?navigator.plugins["Shockwave"];
if?(myPlugin)
document.writeln("你已經安裝了?Shockwave!")
else
document.writeln("你尚未安裝?Shockwave!")
</script><br>
<script?LANGUAGE="JavaScript">
var?myPlugin?=?navigator.plugins["Quicktime"];
if?(myPlugin)
document.writeln("你已經安裝了Quicktime!")
else
document.writeln("你尚未安裝?Quicktime!")
</script>
[INTERNET]表格中引用IFRAME效果
<table?border="0"?cellpadding="0"?cellspacing="0"?width="100%">
<tr>
<td><ILAYER?id="ad1"?visibility="hidden"?height="60"></ILAYER>?<NOLAYER>?<IFRAME?
SRC="i:\jinhtml\zj\h21.htm"?width="500"?height="200"?marginwidth="0"?marginheight="110"?hspace="10"?
vspace="20"?frameborder="0"?scrolling="1"></IFRAME>?</NOLAYER>?</td>
</tr>
</table>
◇[DELPHI]WebBrowser控件技巧
1。實現打印功能
var?vaIn,?vaOut:?OleVariant;
WebBrowser.ControlInterface.ExecWB(OLECMDID_PRINT,?OLECMDEXECOPT_DONTPROMPTUSER,?vaIn,?
vaOut);
2。WebBrowser從流中讀取頁面
function?TForm1.LoadFromStream(const?AStream:?TStream):?HRESULT;
begin
AStream.seek(0,?0);
Result?:=?(WebBrowser1.Document?as?IPersistStreamInit).Load(TStreamAdapter.Create(AStream));
end;
3。"about:"?protocol?will?let?you?Navigate?to?an?HTML?string:
procedure?TForm1.LoadHTMLString(sHTML:?String);
var?Flags,?TargetFrameName,?PostData,?Headers:?OleVariant;
WebBrowser1.Navigate('about:'?+?sHTML,?Flags,?TargetFrameName,?PostData,?Headers)
4。"res:"?protocol?will?let?you?Navigate?to?an?HTML?file?stored?as?a?resource.?More?informations?is?available?from?
the?Microsoft?site:
procedure?TForm1.LoadHTMLResource;
var?Flags,?TargetFrameName,?PostData,?Headers:?OleVariant;
WebBrowser1.Navigate('res://'?+?Application.ExeName?+?'/myhtml',?Flags,?TargetFrameName,?PostData,?
Headers)
使用brcc32.exe建立資源文件?(*.rc)?
MYHTML?23?".\html\myhtml.htm"
MOREHTML?23?".\html\morehtml.htm"
{$R?HTML.RES}?//html.rc被編譯成html.res
5。保存完整的HTML文件
var
HTMLDocument:?IHTMLDocument2;
PersistFile:?IPersistFile;
begin
HTMLDocument?:=?WebBrowser1.Document?as?IHTMLDocument2;
PersistFile?:=?HTMLDocument?as?IPersistFile;
PersistFile.Save(StringToOleStr('test.htm'),?True);
while?HTMLDocument.readyState?<>?'complete'?do
Application.ProcessMessages;
end;
◇[DELPHI]安裝WebBrowser控件(內嵌IE控件)
你必須先確定系統已安裝Internet?Explorer4或以后版本,DELPHI菜單--Component-?-?Import?ActiveX?Contro
,列表中選擇Microsoft?Internet?Controls"并ADD到一個已存在的包文件中,WebBrowser控件將顯示在ActiveX
控件面板。?
◇[DELPHI]實現windows2000半透明窗體
function?SetLayeredWindowAttributes(hwnd:HWND;?crKey:Longint;?bAlpha:byte;?dwFlags:longint?):longint;?
stdcall;?external?user32;//函數聲明
procedure?TForm1.FormCreate(Sender:?TObject);
var?l:longint;
begin
l:=getWindowLong(Handle,?GWL_EXSTYLE);
l?:=?l?Or?$80000;
SetWindowLong?(handle,?GWL_EXSTYLE,?l);
SetLayeredWindowAttributes(handle,?0,?180,?2);
end;
◇[DELPHI]程序顯示廣告WebBrowser加載圖片
var?Flag,?frame,?pData,?Header:?OLEVariant;
begin
WebBrowser1.Navigate('http://www.chineseall.com/images/logo.jpg',?flag,?frame,pData,?Header)
end;
◇[DELPHI]計算一個目錄的大小
function?GetDirectorySize(const?ADirectory:?string):?Integer;?
var?
Dir:?TSearchRec;?
Ret:?integer;?
Path:?string;?
begin?
Result?:=?0;?
Path?:=?ExtractFilePath(ADirectory);?
Ret?:=?Sysutils.FindFirst(ADirectory,?faAnyFile,?Dir);?
if?Ret?<>?NO_ERROR?then?
exit;?
try?
while?ret=NO_ERROR?do?
begin?
inc(Result,?Dir.Size);?
//如果是目錄,且不是'.'或'..'則進行遞歸調用
if?(Dir.Attr?in?[faDirectory])?and?(Dir.Name[1]?<>?'.')?then?
Inc(Result,?GetDirectorySize(Path?+?Dir.Name?+?'\*.*'));?
Ret?:=?Sysutils.FindNext(Dir);?
end;?
finally?
Sysutils.FindClose(Dir);?
end;?
end;?
◇[DELPHI]清空一個目錄
function?EmptyDirectory(TheDirectory?:String?;?Recursive?:?Boolean)?:
Boolean;
var
SearchRec?:?TSearchRec;
Res?:?Integer;
begin
Result?:=?False;
TheDirectory?:=?NormalDir(TheDirectory);
Res?:=?FindFirst(TheDirectory?+?'*.*',?faAnyFile,?SearchRec);
try
while?Res?=?0?do
begin
if?(SearchRec.Name?<>?'.')?and?(SearchRec.Name?<>?'..')?then
begin
if?((SearchRec.Attr?and?faDirectory)?>?0)?and?Recursive
then?begin
EmptyDirectory(TheDirectory?+?SearchRec.Name,?True);
RemoveDirectory(PChar(TheDirectory?+?SearchRec.Name));
end
else?begin
DeleteFile(PChar(TheDirectory?+?SearchRec.Name))
end;
end;
Res?:=?FindNext(SearchRec);
end;
Result?:=?True;
finally
FindClose(SearchRec.FindHandle);
end;
end;
◇[DELPHI]發布ADO程序之安裝ADO
運行一次?MDac_typ.exe?,這個文件在微軟的?Windows、IE、Office、Visual?Studio?中都有。
安裝程序所安裝后的目錄與程序中設置的目錄路徑一樣,C:\Program?Files\Common?Files\System\ado文件夾
中有沒有ADO組件,裝ACCESS2000就有ADO2.1,沒有則安裝MS?OFfice2000,編譯要去
掉project->Option->Packages對話框中的Build?With?RunTime?Library的勾。
◇[DELPHI]攔截Windows系統消息:WM_CLOSE消息
procedure?WMClose(var?Msg:?TMessage);message?WM_CLOSE;
procedure?TMainForm.WMClose(var?Msg:?TMessage);
begin
m_bCloseNoQuery?:=?false;
inherited;
end;
20?Windows消息的用法
小弟收集了些windows消息的用法,特與大家共享,由于水平有限,望各位高手能指出錯誤
提出更多的關于windows消息的用法,重金酬獻¥¥¥
消息,就是指Wi?n?d?o?w?s發出的一個通知,告訴應用程序某個事情發生了。例如,單擊鼠標、改變
窗口尺寸、按下鍵盤上的一個鍵都會使Wi?n?d?o?w?s發送一個消息給應用程序。
消息本身是作為一個記錄傳遞給應用程序的,這個記錄中包含了消息的類型以及其他信息。例如,
對于單擊鼠標所產生的消息來說,這個記錄中包含了單擊鼠標時的坐標。這個記錄類型叫做T?M?s?g,它
在Wi?n?d?o?w?s單元中是這樣聲明的:
t?y?p?e
TMsg?=?packed?record
hwnd:?HWND;?/?/窗口句柄
message:?UINT;?/?/消息常量標識符
wParam:?WPA?R?A?M?;?//?32位消息的特定附加信息
lParam:?LPA?R?A?M?;?//?32位消息的特定附加信息
time:?DWORD;?/?/消息創建時的時間
pt:?TPoint;?/?/消息創建時的鼠標位置
e?n?d?;
消息中有什么?
是否覺得一個消息記錄中的信息像希臘語一樣?如果是這樣,那么看一看下面的解釋:
hwnd?32位的窗口句柄。窗口可以是任何類型的屏幕對象,因為Win32能夠維護大多數可
視對象的句柄(窗口、對話框、按鈕、編輯框等)。
message?用于區別其他消息的常量值,這些常量可以是Windows單元中預定義的常量,也
可以是自定義的常量。
wParam?通常是一個與消息有關的常量值,也可能是窗口或控件的句柄。
lParam?通常是一個指向內存中數據的指針。由于W?P?a?r?a?m、l?P?a?r?a?m和P?o?i?n?t?e?r都是3?2位的,
因此,它們之間可以相互轉換。
????WM_NULL?????????????=?$0000;
??WM_CREATE???????????=?$0001;
應用程序創建一個窗口
??WM_DESTROY??????????=?$0002;
一個窗口被銷毀
??WM_MOVE?????????????=?$0003;
移動一個窗口
??WM_SIZE?????????????=?$0005;
改變一個窗口的大小
??WM_ACTIVATE?????????=?$0006;
一個窗口被激活或失去激活狀態;
??WM_SETFOCUS?????????=?$0007;
獲得焦點后
??WM_KILLFOCUS????????=?$0008;
失去焦點
??WM_ENABLE???????????=?$000A;
改變enable狀態
??WM_SETREDRAW????????=?$000B;
設置窗口是否能重畫??
??WM_SETTEXT??????????=?$000C;
?應用程序發送此消息來設置一個窗口的文本
??WM_GETTEXT??????????=?$000D;
?應用程序發送此消息來復制對應窗口的文本到緩沖區
??WM_GETTEXTLENGTH????=?$000E;
得到與一個窗口有關的文本的長度(不包含空字符)
??WM_PAINT????????????=?$000F;
要求一個窗口重畫自己
??WM_CLOSE????????????=?$0010;
當一個窗口或應用程序要關閉時發送一個信號
??WM_QUERYENDSESSION??=?$0011;
當用戶選擇結束對話框或程序自己調用ExitWindows函數
??WM_QUIT?????????????=?$0012;
用來結束程序運行或當程序調用postquitmessage函數?
??WM_QUERYOPEN????????=?$0013;
?當用戶窗口恢復以前的大小位置時,把此消息發送給某個圖標
??WM_ERASEBKGND???????=?$0014;
?當窗口背景必須被擦除時(例在窗口改變大小時)
??WM_SYSCOLORCHANGE???=?$0015;
?當系統顏色改變時,發送此消息給所有頂級窗口
??WM_ENDSESSION???????=?$0016;
?當系統進程發出WM_QUERYENDSESSION消息后,此消息發送給應用程序,
通知它對話是否結束
??WM_SYSTEMERROR??????=?$0017;
??WM_SHOWWINDOW???????=?$0018;
?當隱藏或顯示窗口是發送此消息給這個窗口
??WM_ACTIVATEAPP??????=?$001C;
發此消息給應用程序哪個窗口是激活的,哪個是非激活的;
??WM_FONTCHANGE???????=?$001D;
當系統的字體資源庫變化時發送此消息給所有頂級窗口
??WM_TIMECHANGE???????=?$001E;
?當系統的時間變化時發送此消息給所有頂級窗口
??WM_CANCELMODE???????=?$001F;
?發送此消息來取消某種正在進行的摸態(操作)
??WM_SETCURSOR????????=?$0020;
?如果鼠標引起光標在某個窗口中移動且鼠標輸入沒有被捕獲時,就發消息給某個窗口
??WM_MOUSEACTIVATE????=?$0021;
?當光標在某個非激活的窗口中而用戶正按著鼠標的某個鍵發送此消息給當前窗口
??WM_CHILDACTIVATE????=?$0022;
發送此消息給MDI子窗口當用戶點擊此窗口的標題欄,或當窗口被激活,移動,改變大小
??WM_QUEUESYNC????????=?$0023;
?此消息由基于計算機的訓練程序發送,通過WH_JOURNALPALYBACK的hook程序
分離出用戶輸入消息
??WM_GETMINMAXINFO????=?$0024;
此消息發送給窗口當它將要改變大小或位置;
??WM_PAINTICON????????=?$0026;
?發送給最小化窗口當它圖標將要被重畫
??WM_ICONERASEBKGND???=?$0027;
??此消息發送給某個最小化窗口,僅當它在畫圖標前它的背景必須被重畫
??WM_NEXTDLGCTL???????=?$0028;
?發送此消息給一個對話框程序去更改焦點位置
??WM_SPOOLERSTATUS????=?$002A;
?每當打印管理列隊增加或減少一條作業時發出此消息?
??WM_DRAWITEM?????????=?$002B;
??當button,combobox,listbox,menu的可視外觀改變時發送
此消息給這些空件的所有者
??WM_MEASUREITEM??????=?$002C;
?當button,?combo?box,?list?box,?list?view?control,?or?menu?item?被創建時
發送此消息給控件的所有者
??WM_DELETEITEM???????=?$002D;
?當the?list?box?或?combo?box?被銷毀?或?當?某些項被刪除通過LB_DELETESTRING,?LB_RESETCONTENT,?CB_DELETESTRING,?or?CB_RESETCONTENT?消息
??WM_VKEYTOITEM???????=?$002E;
此消息有一個LBS_WANTKEYBOARDINPUT風格的發出給它的所有者來響應WM_KEYDOWN消息??
??WM_CHARTOITEM???????=?$002F;
此消息由一個LBS_WANTKEYBOARDINPUT風格的列表框發送給他的所有者來響應WM_CHAR消息??
??WM_SETFONT??????????=?$0030;
當繪制文本時程序發送此消息得到控件要用的顏色?
??WM_GETFONT??????????=?$0031;
?應用程序發送此消息得到當前控件繪制文本的字體
??WM_SETHOTKEY????????=?$0032;
?應用程序發送此消息讓一個窗口與一個熱鍵相關連
??WM_GETHOTKEY????????=?$0033;
?應用程序發送此消息來判斷熱鍵與某個窗口是否有關聯
??WM_QUERYDRAGICON????=?$0037;
此消息發送給最小化窗口,當此窗口將要被拖放而它的類中沒有定義圖標,應用程序能
返回一個圖標或光標的句柄,當用戶拖放圖標時系統顯示這個圖標或光標
??WM_COMPAREITEM??????=?$0039;
發送此消息來判定combobox或listbox新增加的項的相對位置
??WM_GETOBJECT????????=?$003D;
??WM_COMPACTING???????=?$0041;
顯示內存已經很少了
??WM_WINDOWPOSCHANGING?=?$0046;
發送此消息給那個窗口的大小和位置將要被改變時,來調用setwindowpos函數或其它窗口管理函數
??WM_WINDOWPOSCHANGED?=?$0047;
發送此消息給那個窗口的大小和位置已經被改變時,來調用setwindowpos函數或其它窗口管理函數
??WM_POWER????????????=?$0048;(適用于16位的windows)
當系統將要進入暫停狀態時發送此消息
??WM_COPYDATA?????????=?$004A;
當一個應用程序傳遞數據給另一個應用程序時發送此消息
??WM_CANCELJOURNAL????=?$004B;
當某個用戶取消程序日志激活狀態,提交此消息給程序
??WM_NOTIFY???????????=?$004E;
當某個控件的某個事件已經發生或這個控件需要得到一些信息時,發送此消息給它的父窗口
??WM_INPUTLANGCHANGEREQUEST?=?$0050;
當用戶選擇某種輸入語言,或輸入語言的熱鍵改變
??WM_INPUTLANGCHANGE??=?$0051;
當平臺現場已經被改變后發送此消息給受影響的最頂級窗口
??WM_TCARD????????????=?$0052;
當程序已經初始化windows幫助例程時發送此消息給應用程序
??WM_HELP?????????????=?$0053;
此消息顯示用戶按下了F1,如果某個菜單是激活的,就發送此消息個此窗口關聯的菜單,否則就
發送給有焦點的窗口,如果當前都沒有焦點,就把此消息發送給當前激活的窗口
??WM_USERCHANGED??????=?$0054;
當用戶已經登入或退出后發送此消息給所有的窗口,當用戶登入或退出時系統更新用戶的具體
設置信息,在用戶更新設置時系統馬上發送此消息;
??WM_NOTIFYFORMAT?????=?$0055;
公用控件,自定義控件和他們的父窗口通過此消息來判斷控件是使用ANSI還是UNICODE結構
在WM_NOTIFY消息,使用此控件能使某個控件與它的父控件之間進行相互通信
??WM_CONTEXTMENU??????=?$007B;
當用戶某個窗口中點擊了一下右鍵就發送此消息給這個窗口
??WM_STYLECHANGING????=?$007C;
當調用SETWINDOWLONG函數將要改變一個或多個?窗口的風格時發送此消息給那個窗口
??WM_STYLECHANGED?????=?$007D;
當調用SETWINDOWLONG函數一個或多個?窗口的風格后發送此消息給那個窗口
??WM_DISPLAYCHANGE????=?$007E;
當顯示器的分辨率改變后發送此消息給所有的窗口
??WM_GETICON??????????=?$007F;
此消息發送給某個窗口來返回與某個窗口有關連的大圖標或小圖標的句柄;
??WM_SETICON??????????=?$0080;
程序發送此消息讓一個新的大圖標或小圖標與某個窗口關聯;
??WM_NCCREATE?????????=?$0081;
當某個窗口第一次被創建時,此消息在WM_CREATE消息發送前發送;
??WM_NCDESTROY????????=?$0082;
此消息通知某個窗口,非客戶區正在銷毀
??WM_NCCALCSIZE???????=?$0083;
當某個窗口的客戶區域必須被核算時發送此消息
??WM_NCHITTEST????????=?$0084;//移動鼠標,按住或釋放鼠標時發生
??WM_NCPAINT??????????=?$0085;
程序發送此消息給某個窗口當它(窗口)的框架必須被繪制時;
??WM_NCACTIVATE???????=?$0086;
此消息發送給某個窗口?僅當它的非客戶區需要被改變來顯示是激活還是非激活狀態;
??WM_GETDLGCODE???????=?$0087;
發送此消息給某個與對話框程序關聯的控件,widdows控制方位鍵和TAB鍵使輸入進入此控件
通過響應WM_GETDLGCODE消息,應用程序可以把他當成一個特殊的輸入控件并能處理它
??WM_NCMOUSEMOVE??????=?$00A0;
當光標在一個窗口的非客戶區內移動時發送此消息給這個窗口??????//非客戶區為:窗體的標題欄及窗?????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????的邊框體
??WM_NCLBUTTONDOWN????=?$00A1;
當光標在一個窗口的非客戶區同時按下鼠標左鍵時提交此消息
??WM_NCLBUTTONUP??????=?$00A2;
當用戶釋放鼠標左鍵同時光標某個窗口在非客戶區十發送此消息;
??WM_NCLBUTTONDBLCLK??=?$00A3;
當用戶雙擊鼠標左鍵同時光標某個窗口在非客戶區十發送此消息
??WM_NCRBUTTONDOWN????=?$00A4;
當用戶按下鼠標右鍵同時光標又在窗口的非客戶區時發送此消息
??WM_NCRBUTTONUP??????=?$00A5;
當用戶釋放鼠標右鍵同時光標又在窗口的非客戶區時發送此消息
??WM_NCRBUTTONDBLCLK??=?$00A6;
當用戶雙擊鼠標右鍵同時光標某個窗口在非客戶區十發送此消息
??WM_NCMBUTTONDOWN????=?$00A7;
當用戶按下鼠標中鍵同時光標又在窗口的非客戶區時發送此消息
??WM_NCMBUTTONUP??????=?$00A8;
當用戶釋放鼠標中鍵同時光標又在窗口的非客戶區時發送此消息
??WM_NCMBUTTONDBLCLK??=?$00A9;
當用戶雙擊鼠標中鍵同時光標又在窗口的非客戶區時發送此消息
??WM_KEYFIRST?????????=?$0100;
?WM_KEYDOWN??????????=?$0100;??????
?//按下一個鍵
??WM_KEYUP????????????=?$0101;??????
?//釋放一個鍵
??WM_CHAR?????????????=?$0102;??????
?//按下某鍵,并已發出WM_KEYDOWN,??????????????????????????????????????????????WM_KEYUP消息
??WM_DEADCHAR?????????=?$0103;
當用translatemessage函數翻譯WM_KEYUP消息時發送此消息給擁有焦點的窗口
??WM_SYSKEYDOWN???????=?$0104;
當用戶按住ALT鍵同時按下其它鍵時提交此消息給擁有焦點的窗口;
??WM_SYSKEYUP?????????=?$0105;
當用戶釋放一個鍵同時ALT?鍵還按著時提交此消息給擁有焦點的窗口
??WM_SYSCHAR??????????=?$0106;
當WM_SYSKEYDOWN消息被TRANSLATEMESSAGE函數翻譯后提交此消息給擁有焦點的窗口
??WM_SYSDEADCHAR??????=?$0107;
當WM_SYSKEYDOWN消息被TRANSLATEMESSAGE函數翻譯后發送此消息給擁有焦點的窗口
??WM_KEYLAST??????????=?$0108;
??WM_INITDIALOG???????=?$0110;
在一個對話框程序被顯示前發送此消息給它,通常用此消息初始化控件和執行其它任務
??WM_COMMAND??????????=?$0111;
當用戶選擇一條菜單命令項或當某個控件發送一條消息給它的父窗口,一個快捷鍵被翻譯
??WM_SYSCOMMAND???????=?$0112;
當用戶選擇窗口菜單的一條命令或當用戶選擇最大化或最小化時那個窗口會收到此消息
??WM_TIMER????????????=?$0113;????????????????//發生了定時器事件
??WM_HSCROLL??????????=?$0114;
當一個窗口標準水平滾動條產生一個滾動事件時發送此消息給那個窗口,也發送給擁有它的控件
??WM_VSCROLL??????????=?$0115;
當一個窗口標準垂直滾動條產生一個滾動事件時發送此消息給那個窗口也,發送給擁有它的控件??WM_INITMENU?????????=?$0116;
當一個菜單將要被激活時發送此消息,它發生在用戶菜單條中的某項或按下某個菜單鍵,它允許
程序在顯示前更改菜單
??WM_INITMENUPOPUP????=?$0117;
當一個下拉菜單或子菜單將要被激活時發送此消息,它允許程序在它顯示前更改菜單,而不要
改變全部?
?WM_MENUSELECT???????=?$011F;
當用戶選擇一條菜單項時發送此消息給菜單的所有者(一般是窗口)
??WM_MENUCHAR?????????=?$0120;
當菜單已被激活用戶按下了某個鍵(不同于加速鍵),發送此消息給菜單的所有者;
??WM_ENTERIDLE????????=?$0121;
當一個模態對話框或菜單進入空載狀態時發送此消息給它的所有者,一個模態對話框或菜單進入空載狀態就是在處理完一條或幾條先前的消息后沒有消息它的列隊中等待
??WM_MENURBUTTONUP????=?$0122;
??WM_MENUDRAG?????????=?$0123;
??WM_MENUGETOBJECT????=?$0124;
??WM_UNINITMENUPOPUP??=?$0125;
??WM_MENUCOMMAND??????=?$0126;
??WM_CHANGEUISTATE????=?$0127;
??WM_UPDATEUISTATE????=?$0128;
??WM_QUERYUISTATE?????=?$0129;??
??WM_CTLCOLORMSGBOX???=?$0132;
在windows繪制消息框前發送此消息給消息框的所有者窗口,通過響應這條消息,所有者窗口可以
通過使用給定的相關顯示設備的句柄來設置消息框的文本和背景顏色
??WM_CTLCOLOREDIT?????=?$0133;
當一個編輯型控件將要被繪制時發送此消息給它的父窗口;通過響應這條消息,所有者窗口可以
通過使用給定的相關顯示設備的句柄來設置編輯框的文本和背景顏色
??WM_CTLCOLORLISTBOX??=?$0134;
當一個列表框控件將要被繪制前發送此消息給它的父窗口;通過響應這條消息,所有者窗口可以
通過使用給定的相關顯示設備的句柄來設置列表框的文本和背景顏色?
?WM_CTLCOLORBTN??????=?$0135;
當一個按鈕控件將要被繪制時發送此消息給它的父窗口;通過響應這條消息,所有者窗口可以
通過使用給定的相關顯示設備的句柄來設置按紐的文本和背景顏色
??WM_CTLCOLORDLG??????=?$0136;
當一個對話框控件將要被繪制前發送此消息給它的父窗口;通過響應這條消息,所有者窗口可以
通過使用給定的相關顯示設備的句柄來設置對話框的文本背景顏色
??WM_CTLCOLORSCROLLBAR=?$0137;
當一個滾動條控件將要被繪制時發送此消息給它的父窗口;通過響應這條消息,所有者窗口可以
通過使用給定的相關顯示設備的句柄來設置滾動條的背景顏色
??WM_CTLCOLORSTATIC???=?$0138;???
當一個靜態控件將要被繪制時發送此消息給它的父窗口;通過響應這條消息,所有者窗口可以
通過使用給定的相關顯示設備的句柄來設置靜態控件的文本和背景顏色
???WM_MOUSEFIRST???????=?$0200;
??WM_MOUSEMOVE????????=?$0200;??
???????????????????//??移動鼠標
??WM_LBUTTONDOWN??????=?$0201;?
????????????????????//按下鼠標左鍵
??WM_LBUTTONUP????????=?$0202;?
???????????????????//釋放鼠標左鍵
??WM_LBUTTONDBLCLK????=?$0203;
???????????????????//雙擊鼠標左鍵
??WM_RBUTTONDOWN??????=?$0204;
???????????????????//按下鼠標右鍵
??WM_RBUTTONUP????????=?$0205;
??????????????????//釋放鼠標右鍵
??WM_RBUTTONDBLCLK????=?$0206;?
?????????????????//雙擊鼠標右鍵
??WM_MBUTTONDOWN??????=?$0207;?
?????????????????//按下鼠標中鍵?
??WM_MBUTTONUP????????=?$0208;?
?????????????????//釋放鼠標中鍵
??WM_MBUTTONDBLCLK????=?$0209;?
??????????????????//雙擊鼠標中鍵
??WM_MOUSEWHEEL???????=?$020A;
當鼠標輪子轉動時發送此消息個當前有焦點的控件
??WM_MOUSELAST????????=?$020A;
??WM_PARENTNOTIFY?????=?$0210;
當MDI子窗口被創建或被銷毀,或用戶按了一下鼠標鍵而光標在子窗口上時發送此消息給它的父窗口
??WM_ENTERMENULOOP????=?$0211;
發送此消息通知應用程序的主窗口that已經進入了菜單循環模式
??WM_EXITMENULOOP?????=?$0212;
發送此消息通知應用程序的主窗口that已退出了菜單循環模式
??WM_NEXTMENU?????????=?$0213;
??WM_SIZING???????????=?532;
當用戶正在調整窗口大小時發送此消息給窗口;通過此消息應用程序可以監視窗口大小和位置
也可以修改他們
??WM_CAPTURECHANGED???=?533;
發送此消息?給窗口當它失去捕獲的鼠標時;
??WM_MOVING???????????=?534;
當用戶在移動窗口時發送此消息,通過此消息應用程序可以監視窗口大小和位置
也可以修改他們;
??WM_POWERBROADCAST???=?536;
此消息發送給應用程序來通知它有關電源管理事件;
??WM_DEVICECHANGE?????=?537;
當設備的硬件配置改變時發送此消息給應用程序或設備驅動程序
??WM_IME_STARTCOMPOSITION????????=?$010D;
??WM_IME_ENDCOMPOSITION??????????=?$010E;
??WM_IME_COMPOSITION?????????????=?$010F;
??WM_IME_KEYLAST?????????????????=?$010F;
??WM_IME_SETCONTEXT??????????????=?$0281;
??WM_IME_NOTIFY??????????????????=?$0282;
??WM_IME_CONTROL?????????????????=?$0283;
??WM_IME_COMPOSITIONFULL?????????=?$0284;
??WM_IME_SELECT??????????????????=?$0285;
??WM_IME_CHAR????????????????????=?$0286;
??WM_IME_REQUEST?????????????????=?$0288;
??WM_IME_KEYDOWN?????????????????=?$0290;
??WM_IME_KEYUP???????????????????=?$0291;
??WM_MDICREATE????????=?$0220;
應用程序發送此消息給多文檔的客戶窗口來創建一個MDI?子窗口
??WM_MDIDESTROY???????=?$0221;
應用程序發送此消息給多文檔的客戶窗口來關閉一個MDI?子窗口
??WM_MDIACTIVATE??????=?$0222;
應用程序發送此消息給多文檔的客戶窗口通知客戶窗口激活另一個MDI子窗口,當客戶窗口收到
此消息后,它發出WM_MDIACTIVE消息給MDI子窗口(未激活)激活它;
??WM_MDIRESTORE???????=?$0223;
程序?發送此消息給MDI客戶窗口讓子窗口從最大最小化恢復到原來大小
??WM_MDINEXT??????????=?$0224;
程序?發送此消息給MDI客戶窗口激活下一個或前一個窗口
??WM_MDIMAXIMIZE??????=?$0225;
程序發送此消息給MDI客戶窗口來最大化一個MDI子窗口;
??WM_MDITILE??????????=?$0226;
程序?發送此消息給MDI客戶窗口以平鋪方式重新排列所有MDI子窗口
??WM_MDICASCADE???????=?$0227;
程序?發送此消息給MDI客戶窗口以層疊方式重新排列所有MDI子窗口
??WM_MDIICONARRANGE???=?$0228;
程序?發送此消息給MDI客戶窗口重新排列所有最小化的MDI子窗口
??WM_MDIGETACTIVE?????=?$0229;
程序?發送此消息給MDI客戶窗口來找到激活的子窗口的句柄
??WM_MDISETMENU???????=?$0230;
程序?發送此消息給MDI客戶窗口用MDI菜單代替子窗口的菜單
??WM_ENTERSIZEMOVE????=?$0231;
??WM_EXITSIZEMOVE?????=?$0232;
??WM_DROPFILES????????=?$0233;
??WM_MDIREFRESHMENU???=?$0234;
??WM_MOUSEHOVER???????=?$02A1;
??WM_MOUSELEAVE???????=?$02A3;
??WM_CUT??????????????=?$0300;
程序發送此消息給一個編輯框或combobox來刪除當前選擇的文本
??WM_COPY?????????????=?$0301;
程序發送此消息給一個編輯框或combobox來復制當前選擇的文本到剪貼板
??WM_PASTE????????????=?$0302;
程序發送此消息給editcontrol或combobox從剪貼板中得到數據
??WM_CLEAR????????????=?$0303;
程序發送此消息給editcontrol或combobox清除當前選擇的內容;
??WM_UNDO?????????????=?$0304;
程序發送此消息給editcontrol或combobox撤消最后一次操作
??WM_RENDERFORMAT?????=?$0305;
??WM_RENDERALLFORMATS?=?$0306;
??WM_DESTROYCLIPBOARD?=?$0307;
當調用ENPTYCLIPBOARD函數時?發送此消息給剪貼板的所有者
??WM_DRAWCLIPBOARD????=?$0308;
當剪貼板的內容變化時發送此消息給剪貼板觀察鏈的第一個窗口;它允許用剪貼板觀察窗口來
顯示剪貼板的新內容;
??WM_PAINTCLIPBOARD???=?$0309;
當剪貼板包含CF_OWNERDIPLAY格式的數據并且剪貼板觀察窗口的客戶區需要重畫;
??WM_VSCROLLCLIPBOARD?=?$030A;
??WM_SIZECLIPBOARD????=?$030B;
當剪貼板包含CF_OWNERDIPLAY格式的數據并且剪貼板觀察窗口的客戶區域的大小已經改變是此消息通過剪貼板觀察窗口發送給剪貼板的所有者;
??WM_ASKCBFORMATNAME??=?$030C;
通過剪貼板觀察窗口發送此消息給剪貼板的所有者來請求一個CF_OWNERDISPLAY格式的剪貼板的名字
??WM_CHANGECBCHAIN????=?$030D;
當一個窗口從剪貼板觀察鏈中移去時發送此消息給剪貼板觀察鏈的第一個窗口;
??WM_HSCROLLCLIPBOARD?=?$030E;?
此消息通過一個剪貼板觀察窗口發送給剪貼板的所有者?;它發生在當剪貼板包含CFOWNERDISPALY格式的數據并且有個事件在剪貼板觀察窗的水平滾動條上;所有者應滾動剪貼板圖象并更新滾動條的值;
??WM_QUERYNEWPALETTE??=?$030F;
此消息發送給將要收到焦點的窗口,此消息能使窗口在收到焦點時同時有機會實現他的邏輯調色板
??WM_PALETTEISCHANGING=?$0310;
當一個應用程序正要實現它的邏輯調色板時發此消息通知所有的應用程序
??WM_PALETTECHANGED???=?$0311;
此消息在一個擁有焦點的窗口實現它的邏輯調色板后發送此消息給所有頂級并重疊的窗口,以此
來改變系統調色板?
??WM_HOTKEY???????????=?$0312;
當用戶按下由REGISTERHOTKEY函數注冊的熱鍵時提交此消息
??WM_PRINT????????????=?791;
應用程序發送此消息僅當WINDOWS或其它應用程序發出一個請求要求繪制一個應用程序的一部分;
??WM_PRINTCLIENT??????=?792;
??WM_HANDHELDFIRST????=?856;
??WM_HANDHELDLAST?????=?863;
??WM_PENWINFIRST??????=?$0380;
??WM_PENWINLAST???????=?$038F;
??WM_COALESCE_FIRST???=?$0390;
??WM_COALESCE_LAST????=?$039F;
??WM_DDE_FIRST????????=?$03E0;
??WM_DDE_INITIATE?????=?WM_DDE_FIRST?+?0;
一個DDE客戶程序提交此消息開始一個與服務器程序的會話來響應那個指定的程序和主題名;
??WM_DDE_TERMINATE????=?WM_DDE_FIRST?+?1;
一個DDE應用程序(無論是客戶還是服務器)提交此消息來終止一個會話;
??WM_DDE_ADVISE???????=?WM_DDE_FIRST?+?2;
一個DDE客戶程序提交此消息給一個DDE服務程序來請求服務器每當數據項改變時更新它
??WM_DDE_UNADVISE?????=?WM_DDE_FIRST?+?3;
一個DDE客戶程序通過此消息通知一個DDE服務程序不更新指定的項或一個特殊的剪貼板格式的項
??WM_DDE_ACK??????????=?WM_DDE_FIRST?+?4;
此消息通知一個DDE(動態數據交換)程序已收到并正在處理WM_DDE_POKE,?WM_DDE_EXECUTE,?WM_DDE_DATA,?WM_DDE_ADVISE,?WM_DDE_UNADVISE,?or?WM_DDE_INITIAT消息
??WM_DDE_DATA?????????=?WM_DDE_FIRST?+?5;
一個DDE服務程序提交此消息給DDE客戶程序來傳遞個一數據項給客戶或通知客戶的一條可用數據項
??WM_DDE_REQUEST??????=?WM_DDE_FIRST?+?6;
一個DDE客戶程序提交此消息給一個DDE服務程序來請求一個數據項的值;
??WM_DDE_POKE?????????=?WM_DDE_FIRST?+?7;
一個DDE客戶程序提交此消息給一個DDE服務程序,客戶使用此消息來請求服務器接收一個未經同意的數據項;服務器通過答復WM_DDE_ACK消息提示是否它接收這個數據項;
??WM_DDE_EXECUTE??????=?WM_DDE_FIRST?+?8;
一個DDE客戶程序提交此消息給一個DDE服務程序來發送一個字符串給服務器讓它象串行命令一樣被處理,服務器通過提交WM_DDE_ACK消息來作回應;
??WM_DDE_LAST?????????=?WM_DDE_FIRST?+?8;
??WM_APP?=?$8000;
??WM_USER?????????????=?$0400;
此消息能幫助應用程序自定義私有消息;
/
通知消息(Notification?message)是指這樣一種消息,一個窗口內的子控件發生了一些事情,需要通
知父窗口。通知消息只適用于標準的窗口控件如按鈕、列表框、組合框、編輯框,以及Windows?95公
共控件如樹狀視圖、列表視圖等。例如,單擊或雙擊一個控件、在控件中選擇部分文本、操作控件的
滾動條都會產生通知消息。?
?????按扭
B?N?_?C?L?I?C?K?E?D????????????????????????//用戶單擊了按鈕
B?N?_?D?I?S?A?B?L?E????????????????????????//按鈕被禁止
B?N?_?D?O?U?B?L?E?C?L?I?C?K?E?D????//用戶雙擊了按鈕
B?N?_?H?I?L?I?T?E?????????????????????????//用戶加亮了按鈕
B?N?_?PA?I?N?T按鈕應當重畫
B?N?_?U?N?H?I?L?I?T?E加亮應當去掉
組合框
C?B?N?_?C?L?O?S?E?U?P組合框的列表框被關閉
C?B?N?_?D?B?L?C?L?K用戶雙擊了一個字符串
C?B?N?_?D?R?O?P?D?O?W?N組合框的列表框被拉出
C?B?N?_?E?D?I?T?C?H?A?N?G?E用戶修改了編輯框中的文本
C?B?N?_?E?D?I?T?U?P?D?AT?E編輯框內的文本即將更新
C?B?N?_?E?R?R?S?PA?C?E組合框內存不足
C?B?N?_?K?I?L?L?F?O?C?U?S組合框失去輸入焦點
C?B?N?_?S?E?L?C?H?A?N?G?E在組合框中選擇了一項
C?B?N?_?S?E?L?E?N?D?C?A?N?C?E?L用戶的選擇應當被取消
C?B?N?_?S?E?L?E?N?D?O?K用戶的選擇是合法的
C?B?N?_?S?E?T?F?O?C?U?S組合框獲得輸入焦點
編輯框
E?N?_?C?H?A?N?G?E編輯框中的文本己更新
E?N?_?E?R?R?S?PA?C?E編輯框內存不足
E?N?_?H?S?C?R?O?L?L用戶點擊了水平滾動條
E?N?_?K?I?L?L?F?O?C?U?S編輯框正在失去輸入焦點
E?N?_?M?A?X?T?E?X?T插入的內容被截斷
E?N?_?S?E?T?F?O?C?U?S編輯框獲得輸入焦點
E?N?_?U?P?D?AT?E編輯框中的文本將要更新
E?N?_?V?S?C?R?O?L?L用戶點擊了垂直滾動條消息含義
列表框
L?B?N?_?D?B?L?C?L?K用戶雙擊了一項
L?B?N?_?E?R?R?S?PA?C?E列表框內存不夠
L?B?N?_?K?I?L?L?F?O?C?U?S列表框正在失去輸入焦點
L?B?N?_?S?E?L?C?A?N?C?E?L選擇被取消
L?B?N?_?S?E?L?C?H?A?N?G?E選擇了另一項
L?B?N?_?S?E?T?F?O?C?U?S列表框獲得輸入焦點
本人能力有限,如有不當之處,還望高手多多指教;baoxf1025@163.com
用實際行動向cool_cool同志學習
去年的某個時候我譯了一下有關網絡出錯的信息,不是很準確,給出來分享一下。
//---------------------------------------------------------------------------
#include?<vcl.h>
#pragma?hdrstop
#include?<lmerr.h>
#include?"errhandle.h"
//---------------------------------------------------------------------------
#pragma?package(smart_init)
#define??MYERRBASE??20000
#define?USERNAMENULL??????MYERRBASE+1
#define?IDENTITYCARDNULL??MYERRBASE+2
#define?LOGINNAMENULL?????MYERRBASE+3
#define?USERSHFNULL???????MYERRBASE+4
#define?PHONENULL?????????MYERRBASE+5
#define?STUDENTCARDNULL???MYERRBASE+6
#define?DOMAINNULL????????MYERRBASE+7
#define?MAILACCOUNTNULL???MYERRBASE+8
#define?USERTYPENULL??????MYERRBASE+9
#define?NETWORKTYPENULL???MYERRBASE+10
?//NERR_BASE=2100
DWORD?errhandle(HWND?hwnd,DWORD?err,LPCTSTR?lpCaption)
{
??switch(err)
??{
??//網絡相關錯誤處理----------------------------------------
????case?5?????????????????:???MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????用戶無權訪問指定資源")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;??//???ERROR_ACCESS_DENIED?=5
????case?NERR_NetNotStarted:?MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????此工作站的驅動器沒有安裝")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//?????(NERR_BASE+2)???/*?The?workstation?driver?is?not?installed.?*/
????case?NERR_UnknownServer:?MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能定位此服務器")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//?????(NERR_BASE+3)???/*?The?server?could?not?be?located.?*/
????case?NERR_ShareMem?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????程序導致一個內部錯誤,網絡不能訪問一個共享內存段")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//??????(NERR_BASE+4)???/*?An?internal?error?occurred.??The?network?cannot?access?a?shared?memory?segment.?*/
????case?NERR_NoNetworkResource:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????網絡資源不足")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+5)???/*?A?network?resource?shortage?occurred?.?*/
????case?NERR_RemoteOnly??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????本操作不能在工作站上執行")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//???(NERR_BASE+6)???/*?This?operation?is?not?supported?on?workstations.?*/
????case?NERR_DevNotRedirected???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????設備沒有連接")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+7)???/*?The?device?is?not?connected.?*/
/*?NERR_BASE+8?is?used?for?ERROR_CONNECTED_OTHER_PASSWORD?*/
/*?UNUSED?BASE+9?*/
/*?UNUSED?BASE+10?*/
/*?UNUSED?BASE+11?*/
/*?UNUSED?BASE+12?*/
/*?UNUSED?BASE+13?*/
????case?NERR_ServerNotStarted??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務沒有啟動")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//??(NERR_BASE+14)??/*?The?Server?service?is?not?started.?*/
????case?NERR_ItemNotFound????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????隊列為空")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+15)??/*?The?queue?is?empty.?*/
????case?NERR_UnknownDevDir???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????設備或目錄不存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+16)??/*?The?device?or?directory?does?not?exist.?*/
????case?NERR_RedirectedPath??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能重定位此操作")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+17)??/*?The?operation?is?invalid?on?a?redirected?resource.?*/
????case?NERR_DuplicateShare??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????共享名已存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+18)??/*?The?name?has?already?been?shared.?*/
????case?NERR_NoRoom??????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務器此時已不響應資源請求")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+19)??/*?The?server?is?currently?out?of?the?requested?resource.?*/
/*?UNUSED?BASE+20?*/
????case?NERR_TooManyItems????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????請求數超出最大許可")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+21)??/*?Requested?addition?of?items?exceeds?the?maximum?allowed.?*/
????case?NERR_InvalidMaxUsers?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????點對點請求只能在同時存在兩個的用戶間")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+22)??/*?The?Peer?service?supports?only?two?simultaneous?users.?*/
????case?NERR_BufTooSmall?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????程序導致一個內部錯誤,API請求的緩沖區設置過小")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+23)??/*?The?API?return?buffer?is?too?small.?*/
/*?UNUSED?BASE+24?*/
/*?UNUSED?BASE+25?*/
/*?UNUSED?BASE+26?*/
????case?NERR_RemoteErr???????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????遠程API調用出錯")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//??????????(NERR_BASE+27)??/*?A?remote?API?error?occurred.??*/
/*?UNUSED?BASE+28?*/
/*?UNUSED?BASE+29?*/
/*?UNUSED?BASE+30?*/
????case?NERR_LanmanIniError?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????打開或讀配置文件時出錯")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+31)??/*?An?error?occurred?when?opening?or?reading?the?configuration?file.?*/
/*?UNUSED?BASE+32?*/
/*?UNUSED?BASE+33?*/
/*?UNUSED?BASE+34?*/
/*?UNUSED?BASE+35?*/
????case?NERR_NetworkError???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????一般網絡錯誤")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+36)??/*?A?general?network?error?occurred.?*/
????case?NERR_WkstaInconsistentState:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????工作站服務處于不穩定狀態,重新啟動此服務前請重新啟動機器")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//?(NERR_BASE+37)
????/*?The?Workstation?service?is?in?an?inconsistent?state.?Restart?the?computer?before?restarting?the?Workstation?service.?*/
????case?NERR_WkstaNotStarted????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????工作站服務沒有啟動")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+38)??/*?The?Workstation?service?has?not?been?started.?*/
????case?NERR_BrowserNotStarted??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????請求的信息不存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+39)??/*?The?requested?information?is?not?available.?*/
????case?NERR_InternalError??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????程序導致一個Windows?NT內部錯誤")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+40)??/*?An?internal?Windows?NT?error?occurred.*/
????case?NERR_BadTransactConfig??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務器不支持事務")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+41)??/*?The?server?is?not?configured?for?transactions.?*/
????case?NERR_InvalidAPI?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????調用的API不支持遠程服務器")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+42)??/*?The?requested?API?is?not?supported?on?the?remote?server.?*/
????case?NERR_BadEventName???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????事件名不存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+43)??/*?The?event?name?is?invalid.?*/
????case?NERR_DupNameReboot??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????網絡中已存在此機器名,更改機器名重新啟動")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+44)??/*?The?computer?name?already?exists?on?the?network.?Change?it?and?restart?the?computer.?*/
/*
?*??????Config?API?related
?*??????????????Error?codes?from?BASE+45?to?BASE+49
?*/
/*?UNUSED?BASE+45?*/
????case?NERR_CfgCompNotFound????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????配置信息中找不到指定的控件")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+46)??/*?The?specified?component?could?not?be?found?in?the?configuration?information.?*/
????case?NERR_CfgParamNotFound???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????配置信息中找不到指定參數")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+47)??/*?The?specified?parameter?could?not?be?found?in?the?configuration?information.?*/
????case?NERR_LineTooLong????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????配置文件中的某一行太長")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+49)??/*?A?line?in?the?configuration?file?is?too?long.?*/
/*
?*??????Spooler?API?related
?*??????????????Error?codes?from?BASE+50?to?BASE+79
?*/
????case?NERR_QNotFound??????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????指定的打印機不存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+50)??/*?The?printer?does?not?exist.?*/
????case?NERR_JobNotFound????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????指定的打印作業不存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+51)??/*?The?print?job?does?not?exist.?*/
????case?NERR_DestNotFound???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????沒有找到目標打印機")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+52)??/*?The?printer?destination?cannot?be?found.?*/
????case?NERR_DestExists?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????目標打印機已存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+53)??/*?The?printer?destination?already?exists.?*/
????case?NERR_QExists????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????打印隊列已存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+54)??/*?The?printer?queue?already?exists.?*/
????case?NERR_QNoRoom????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能再添加打印機")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+55)??/*?No?more?printers?can?be?added.?*/
????case?NERR_JobNoRoom??????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能再添加打印作業")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+56)??/*?No?more?print?jobs?can?be?added.??*/
????case?NERR_DestNoRoom?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能再添加目標打印機")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+57)??/*?No?more?printer?destinations?can?be?added.?*/
????case?NERR_DestIdle???????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????目標打印機無效或不接受控制")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+58)??/*?This?printer?destination?is?idle?and?cannot?accept?control?operations.?*/
????case?NERR_DestInvalidOp??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????目標打印機請求含有非法操作")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+59)??/*?This?printer?destination?request?contains?an?invalid?control?function.?*/
????case?NERR_ProcNoRespond??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????打印進程沒有響應")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+60)??/*?The?print?processor?is?not?responding.?*/
????case?NERR_SpoolerNotLoaded???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????spooler沒有運行")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+61)??/*?The?spooler?is?not?running.?*/
????case?NERR_DestInvalidState???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????目標打印機在當前狀態下不能執行此操作")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+62)??/*?This?operation?cannot?be?performed?on?the?print?destination?in?its?current?state.?*/
????case?NERR_QInvalidState??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????打印隊列在當前狀態不能執行此操作")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+63)??/*?This?operation?cannot?be?performed?on?the?printer?queue?in?its?current?state.?*/
????case?NERR_JobInvalidState????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????打印作業在當前狀態下不能執行引操作")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+64)??/*?This?operation?cannot?be?performed?on?the?print?job?in?its?current?state.?*/
????case?NERR_SpoolNoMemory??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????spooler內存請求失敗")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+65)??/*?A?spooler?memory?allocation?failure?occurred.?*/
????case?NERR_DriverNotFound?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????設備驅動不存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+66)??/*?The?device?driver?does?not?exist.?*/
????case?NERR_DataTypeInvalid????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????打印作業不支持的數據類型")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+67)??/*?The?data?type?is?not?supported?by?the?print?processor.?*/
????case?NERR_ProcNotFound???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????沒有安裝打印進程")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+68)??/*?The?print?processor?is?not?installed.?*/
/*
?*??????Service?API?related
?*??????????????Error?codes?from?BASE+80?to?BASE+99
?*/
????case?NERR_ServiceTableLocked?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務數據庫被鎖定")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+80)??/*?The?service?database?is?locked.?*/
????case?NERR_ServiceTableFull???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務表為空")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+81)??/*?The?service?table?is?full.?*/
????case?NERR_ServiceInstalled???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????請求的服務已經啟動")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+82)??/*?The?requested?service?has?already?been?started.?*/
????case?NERR_ServiceEntryLocked?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務沒有響應控制")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+83)??/*?The?service?does?not?respond?to?control?actions.?*/
????case?NERR_ServiceNotInstalled?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務沒有啟動")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+84)?/*?The?service?has?not?been?started.?*/
????case?NERR_BadServiceName?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務名不存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+85)??/*?The?service?name?is?invalid.?*/
????case?NERR_ServiceCtlTimeout??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務沒有響應控制功能")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+86)??/*?The?service?is?not?responding?to?the?control?function.?*/
????case?NERR_ServiceCtlBusy?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務控制忙")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+87)??/*?The?service?control?is?busy.?*/
????case?NERR_BadServiceProgName?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????配置文件包含不存在的服務程序名")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+88)??/*?The?configuration?file?contains?an?invalid?service?program?name.?*/
????case?NERR_ServiceNotCtrl?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務在當前狀態下不能控制")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+89)??/*?The?service?could?not?be?controlled?in?its?present?state.?*/
????case?NERR_ServiceKillProc????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務非正常終止")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+90)??/*?The?service?ended?abnormally.?*/
????case?NERR_ServiceCtlNotValid?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????該服務不能終止或暫停")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+91)??/*?The?requested?pause?or?stop?is?not?valid?for?this?service.?*/
????case?NERR_NotInDispatchTbl???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務控制調度沒有在調度表中找到服務名")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+92)??/*?The?service?control?dispatcher?could?not?find?the?service?name?in?the?dispatch?table.?*/
????case?NERR_BadControlRecv?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????讀服務調度管道失敗")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+93)??/*?The?service?control?dispatcher?pipe?read?failed.?*/
????case?NERR_ServiceNotStarting?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能為新服務創建一個線程")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+94)??/*?A?thread?for?the?new?service?could?not?be?created.?*/
/*
?*??????Wksta?and?Logon?API?related
?*??????????????Error?codes?from?BASE+100?to?BASE+118
?*/
????case?NERR_AlreadyLoggedOn????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????工作站已經登錄到局域網")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+100)?/*?This?workstation?is?already?logged?on?to?the?local-area?network.?*/
????case?NERR_NotLoggedOn????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????工作站沒有登錄到局域網")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+101)?/*?The?workstation?is?not?logged?on?to?the?local-area?network.?*/
????case?NERR_BadUsername????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????用戶名或組名參數錯誤")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+102)?/*?The?user?name?or?group?name?parameter?is?invalid.??*/
????case?NERR_BadPassword????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????密碼錯誤")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+103)?/*?The?password?parameter?is?invalid.?*/
????case?NERR_UnableToAddName_W??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????登錄進程沒有加消息別名")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+104)?/*?@W?The?logon?processor?did?not?add?the?message?alias.?*/
????case?NERR_UnableToAddName_F??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????登錄進程沒有加消息別名")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+105)?/*?The?logon?processor?did?not?add?the?message?alias.?*/
????case?NERR_UnableToDelName_W??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????注銷進程沒有刪除消息別名")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+106)?/*?@W?The?logoff?processor?did?not?delete?the?message?alias.?*/
????case?NERR_UnableToDelName_F??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????注銷進程沒有加消息別名")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+107)?/*?The?logoff?processor?did?not?delete?the?message?alias.?*/
/*?UNUSED?BASE+108?*/
????case?NERR_LogonsPaused???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????登錄進程被中斷")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+109)?/*?Network?logons?are?paused.?*/
????case?NERR_LogonServerConflict?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????集中登錄服務器沖突")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+110)/*?A?centralized?logon-server?conflict?occurred.?*/
????case?NERR_LogonNoUserPath????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務器沒有配置有效的用戶路徑")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+111)?/*?The?server?is?configured?without?a?valid?user?path.?*/
????case?NERR_LogonScriptError???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????運行登錄腳本時發生錯誤")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+112)?/*?An?error?occurred?while?loading?or?running?the?logon?script.?*/
/*?UNUSED?BASE+113?*/
????case?NERR_StandaloneLogon????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????沒有指定登錄服務器,你的機器登錄成獨立的機器")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+114)?/*?The?logon?server?was?not?specified.??Your?computer?will?be?logged?on?as?STANDALONE.?*/
????case?NERR_LogonServerNotFound?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????沒有找到指定的登錄服務器")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+115)?/*?The?logon?server?could?not?be?found.??*/
????case?NERR_LogonDomainExists??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????機器已經存在一個登錄域")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+116)?/*?There?is?already?a?logon?domain?for?this?computer.??*/
????case?NERR_NonValidatedLogon??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????登錄服務器不能驗證登錄")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+117)?/*?The?logon?server?could?not?validate?the?logon.?*/
/*
?*??????ACF?API?related?(access,?user,?group)
?*??????????????Error?codes?from?BASE+119?to?BASE+149
?*/
????case?NERR_ACFNotFound????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????沒有找到安全控制數據庫")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+119)?/*?The?security?database?could?not?be?found.?*/
????case?NERR_GroupNotFound??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????沒有找到指定的組名")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+120)?/*?The?group?name?could?not?be?found.?*/
????case?NERR_UserNotFound???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????沒有找到指定的用戶名")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+121)?/*?The?user?name?could?not?be?found.?*/
????case?NERR_ResourceNotFound???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????沒有找到指定的資源名")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+122)?/*?The?resource?name?could?not?be?found.??*/
????case?NERR_GroupExists????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????組已經存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+123)?/*?The?group?already?exists.?*/
????case?NERR_UserExists?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????用戶賬號已經存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+124)?/*?The?user?account?already?exists.?*/
????case?NERR_ResourceExists?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????資源訪問列表已經存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+125)?/*?The?resource?permission?list?already?exists.?*/
????case?NERR_NotPrimary?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????此操作只能在域的主域控制上進行")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+126)?/*?This?operation?is?only?allowed?on?the?primary?domain?controller?of?the?domain.?*/
????case?NERR_ACFNotLoaded???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????安全數據庫沒有啟動")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+127)?/*?The?security?database?has?not?been?started.?*/
????case?NERR_ACFNoRoom??????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????用戶賬號數據庫中名字過多")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+128)?/*?There?are?too?many?names?in?the?user?accounts?database.?*/
????case?NERR_ACFFileIOFail??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????驅動器I/O操作失敗")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+129)?/*?A?disk?I/O?failure?occurred.*/
????case?NERR_ACFTooManyLists????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????超過了每資源64個項目的限制")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+130)?/*?The?limit?of?64?entries?per?resource?was?exceeded.?*/
????case?NERR_UserLogon??????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能刪除正一個打開會話的用戶")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+131)?/*?Deleting?a?user?with?a?session?is?not?allowed.?*/
????case?NERR_ACFNoParent????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能夠定位上一級目錄")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+132)?/*?The?parent?directory?could?not?be?located.?*/
????case?NERR_CanNotGrowSegment??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能添加到安全數據庫會話高速緩沖區(cache)段")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+133)?/*?Unable?to?add?to?the?security?database?session?cache?segment.?*/
????case?NERR_SpeGroupOp?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????此操作不能對此特殊組(系統賬號)進行")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+134)?/*?This?operation?is?not?allowed?on?this?special?group.?*/
????case?NERR_NotInCache?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????該用戶沒有使用用戶賬號數據庫會話高速緩沖區(cache)")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+135)?/*?This?user?is?not?cached?in?user?accounts?database?session?cache.?*/
????case?NERR_UserInGroup????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????用戶已經屬于該組")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+136)?/*?The?user?already?belongs?to?this?group.?*/
????case?NERR_UserNotInGroup?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????用戶不屬于該組")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+137)?/*?The?user?does?not?belong?to?this?group.?*/
????case?NERR_AccountUndefined???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????用戶賬號沒有定義")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+138)?/*?This?user?account?is?undefined.?*/
????case?NERR_AccountExpired?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????用戶賬號已經過期")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+139)?/*?This?user?account?has?expired.?*/
????case?NERR_InvalidWorkstation?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????用戶禁止從此工作站上登錄")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+140)?/*?The?user?is?not?allowed?to?log?on?from?this?workstation.?*/
????case?NERR_InvalidLogonHours??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????用戶限制了不能在此時登錄")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+141)?/*?The?user?is?not?allowed?to?log?on?at?this?time.??*/
????case?NERR_PasswordExpired????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????用戶口令已經過期")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+142)?/*?The?password?of?this?user?has?expired.?*/
????case?NERR_PasswordCantChange?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能更改此用戶的密碼")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+143)?/*?The?password?of?this?user?cannot?change.?*/
????case?NERR_PasswordHistConflict?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????用戶口令不能在此時使用")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+144)?/*?This?password?cannot?be?used?now.?*/
????case?NERR_PasswordTooShort???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????密碼太短")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+145)?/*?The?password?is?shorter?than?required.?*/
????case?NERR_PasswordTooRecent??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????新密碼與舊密碼太接近")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+146)?/*?The?password?of?this?user?is?too?recent?to?change.??*/
????case?NERR_InvalidDatabase????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????完全數據庫被中斷")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+147)?/*?The?security?database?is?corrupted.?*/
????case?NERR_DatabaseUpToDate???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????沒有必要復制網絡/本地安全數據庫(自上次同步以來沒有變更)")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+148)?/*?No?updates?are?necessary?to?this?replicant?network/local?security?database.?*/
????case?NERR_SyncRequired???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????數據庫復本已經過時,請同步")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+149)?/*?This?replicant?database?is?outdated;?synchronization?is?required.?*/
/*
?*??????Use?API?related
?*??????????????Error?codes?from?BASE+150?to?BASE+169
?*/
????case?NERR_UseNotFound????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????沒有找到網絡連接")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+150)?/*?The?network?connection?could?not?be?found.?*/
????case?NERR_BadAsgType?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????指定的類型無效")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+151)?/*?This?asg_type?is?invalid.?*/
????case?NERR_DeviceIsShared?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????設備當前正在(其他用戶)共享")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+152)?/*?This?device?is?currently?being?shared.?*/
/*
?*??????Message?Server?related
?*??????????????Error?codes?BASE+170?to?BASE+209
?*/
????case?NERR_NoComputerName?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????計算機名不能添加為一個消息別名,網絡中可能存在同名計算機")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+170)?/*?The?computer?name?could?not?be?added?as?a?message?alias.??The?name?may?already?exist?on?the?network.?*/
????case?NERR_MsgAlreadyStarted??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????消息服務已經啟動")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+171)?/*?The?Messenger?service?is?already?started.?*/
????case?NERR_MsgInitFailed??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????消息服務啟動失敗")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+172)?/*?The?Messenger?service?failed?to?start.??*/
????case?NERR_NameNotFound???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????消息別名不能在網絡中找到")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+173)?/*?The?message?alias?could?not?be?found?on?the?network.?*/
????case?NERR_AlreadyForwarded???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????消息別名已經轉發")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+174)?/*?This?message?alias?has?already?been?forwarded.?*/
????case?NERR_AddForwarded???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????消息別名已添加但仍然被轉發")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+175)?/*?This?message?alias?has?been?added?but?is?still?forwarded.?*/
????case?NERR_AlreadyExists??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????本地已經存在此消息別名")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+176)?/*?This?message?alias?already?exists?locally.?*/
????case?NERR_TooManyNames???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????超過了最大的消息別名數")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+177)?/*?The?maximum?number?of?added?message?aliases?has?been?exceeded.?*/
????case?NERR_DelComputerName????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????此計算機名不能被刪除")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+178)?/*?The?computer?name?could?not?be?deleted.*/
????case?NERR_LocalForward???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????消息別名不能轉發給同一工作站")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+179)?/*?Messages?cannot?be?forwarded?back?to?the?same?workstation.?*/
????case?NERR_GrpMsgProcessor????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????域消息進程出錯")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+180)?/*?An?error?occurred?in?the?domain?message?processor.?*/
????case?NERR_PausedRemote???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????消息已經發送,但容器中斷了消息服務")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+181)?/*?The?message?was?sent,?but?the?recipient?has?paused?the?Messenger?service.?*/
????case?NERR_BadReceive?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????消息已經發送,但沒有接受")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+182)?/*?The?message?was?sent?but?not?received.?*/
????case?NERR_NameInUse??????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????消息別名當前正在使用,請稍后再試")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+183)?/*?The?message?alias?is?currently?in?use.?Try?again?later.?*/
????case?NERR_MsgNotStarted??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????消息服務沒有啟動")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+184)?/*?The?Messenger?service?has?not?been?started.?*/
????case?NERR_NotLocalName???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????名字不在本地計算機上")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+185)?/*?The?name?is?not?on?the?local?computer.?*/
????case?NERR_NoForwardName??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????轉發的消息別名在網絡中不存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+186)?/*?The?forwarded?message?alias?could?not?be?found?on?the?network.?*/
????case?NERR_RemoteFull?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????遠程站上的消息別名表已滿")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+187)?/*?The?message?alias?table?on?the?remote?station?is?full.?*/
????case?NERR_NameNotForwarded???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????別名消息沒有轉發")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+188)?/*?Messages?for?this?alias?are?not?currently?being?forwarded.?*/
????case?NERR_TruncatedBroadcast?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????廣播消息被刪節")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+189)?/*?The?broadcast?message?was?truncated.?*/
????case?NERR_InvalidDevice??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????無效的設備名")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+194)?/*?This?is?an?invalid?device?name.?*/
????case?NERR_WriteFault?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????發生一個寫錯誤")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+195)?/*?A?write?fault?occurred.?*/
/*?UNUSED?BASE+196?*/
????case?NERR_DuplicateName??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????復制消息已經在網絡中存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+197)?/*?A?duplicate?message?alias?exists?on?the?network.?*/
????case?NERR_DeleteLater????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????此消息別名將被刪除")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+198)?/*?@W?This?message?alias?will?be?deleted?later.?*/
????case?NERR_IncompleteDel??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????消息別名沒有在所有的網絡中成功刪除")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+199)?/*?The?message?alias?was?not?successfully?deleted?from?all?networks.?*/
????case?NERR_MultipleNets???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????在多重網絡計算機上操作不支持")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+200)?/*?This?operation?is?not?supported?on?computers?with?multiple?networks.?*/
/*
?*??????Server?API?related
?*??????????????Error?codes?BASE+210?to?BASE+229
?*/
????case?NERR_NetNameNotFound????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????共享資源不存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+210)?/*?This?shared?resource?does?not?exist.*/
????case?NERR_DeviceNotShared????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????設備沒有共享")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+211)?/*?This?device?is?not?shared.?*/
????case?NERR_ClientNameNotFound?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不在與此計算機名相關的會話")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+212)?/*?A?session?does?not?exist?with?that?computer?name.?*/
????case?NERR_FileIdNotFound?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????此ID號的打開文件不存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+214)?/*?There?is?not?an?open?file?with?that?identification?number.?*/
????case?NERR_ExecFailure????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????執行遠程管理指令時導致一個錯誤")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+215)?/*?A?failure?occurred?when?executing?a?remote?administration?command.?*/
????case?NERR_TmpFile????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????打開一個遠程臨時文件時發生錯誤")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+216)?/*?A?failure?occurred?when?opening?a?remote?temporary?file.?*/
????case?NERR_TooMuchData????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????從遠程管理指令返回的數據被刪除到64K")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+217)?/*?The?data?returned?from?a?remote?administration?command?has?been?truncated?to?64K.?*/
????case?NERR_DeviceShareConflict?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????設備不能同時共享為spooled和非spooled資源")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+218)?/*?This?device?cannot?be?shared?as?both?a?spooled?and?a?non-spooled?resource.?*/
????case?NERR_BrowserTableIncomplete?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務器列表的信息可能不正確")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+219)??/*?The?information?in?the?list?of?servers?may?be?incorrect.?*/
????case?NERR_NotLocalDomain?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????域中的計算機沒有活動")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+220)?/*?The?computer?is?not?active?in?this?domain.?*/
????case?NERR_IsDfsShare?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????共享肯定在刪除前已經從分布式文件系統中撤銷")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+221)?/*?The?share?must?be?removed?from?the?Distributed?File?System?before?it?can?be?deleted.?*/
/*
?*??????CharDev?API?related
?*??????????????Error?codes?BASE+230?to?BASE+249
?*/
/*?UNUSED?BASE+230?*/
????case?NERR_DevInvalidOpCode???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????設備不支持此操作")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+231)?/*?The?operation?is?invalid?for?this?device.?*/
????case?NERR_DevNotFound????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????設備不能共享")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+232)?/*?This?device?cannot?be?shared.?*/
????case?NERR_DevNotOpen?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????設備沒有打開")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+233)?/*?This?device?was?not?open.?*/
????case?NERR_BadQueueDevString??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????設備名列表無效")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+234)?/*?This?device?name?list?is?invalid.?*/
????case?NERR_BadQueuePriority???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????隊列的優先級無效")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+235)?/*?The?queue?priority?is?invalid.?*/
????case?NERR_NoCommDevs?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????沒有共享的通信設備")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+237)?/*?There?are?no?shared?communication?devices.?*/
????case?NERR_QueueNotFound??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????指定的隊列不存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+238)?/*?The?queue?you?specified?does?not?exist.?*/
????case?NERR_BadDevString???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????隊列列表不存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+240)?/*?This?list?of?devices?is?invalid.?*/
????case?NERR_BadDev?????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????請求的設備不存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+241)?/*?The?requested?device?is?invalid.?*/
????case?NERR_InUseBySpooler?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????設備已經被spooler使用")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+242)?/*?This?device?is?already?in?use?by?the?spooler.?*/
????case?NERR_CommDevInUse???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????設備已經作為一個通信設備在使用")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+243)?/*?This?device?is?already?in?use?as?a?communication?device.?*/
/*
?*??????NetICanonicalize?and?NetIType?and?NetIMakeLMFileName
?*??????NetIListCanon?and?NetINameCheck
?*??????????????Error?codes?BASE+250?to?BASE+269
?*/
????case?NERR_InvalidComputer???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????計算機名無效")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+251)?/*?This?computer?name?is?invalid.?*/
/*?UNUSED?BASE+252?*/
/*?UNUSED?BASE+253?*/
????case?NERR_MaxLenExceeded????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????指定的字符串和前綴太長")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+254)?/*?The?string?and?prefix?specified?are?too?long.?*/
/*?UNUSED?BASE+255?*/
????case?NERR_BadComponent??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????路徑控件無效")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+256)?/*?This?path?component?is?invalid.?*/
????case?NERR_CantType??????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能確定輸入類型")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+257)?/*?Could?not?determine?the?type?of?input.?*/
/*?UNUSED?BASE+258?*/
/*?UNUSED?BASE+259?*/
????case?NERR_TooManyEntries????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????類型緩沖沒有足夠大")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+262)?/*?The?buffer?for?types?is?not?big?enough.?*/
/*
?*??????NetProfile
?*??????????????Error?codes?BASE+270?to?BASE+276
?*/
????case?NERR_ProfileFileTooBig??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????特征文件不能超過64K")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+270)?/*?Profile?files?cannot?exceed?64K.?*/
????case?NERR_ProfileOffset??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????起始偏移超出范圍")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+271)?/*?The?start?offset?is?out?of?range.?*/
????case?NERR_ProfileCleanup?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????系統不能刪除當前與網絡資源的連接")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+272)?/*?The?system?cannot?delete?current?connections?to?network?resources.?*/
????case?NERR_ProfileUnknownCmd??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????系統不能刪除此文件中的命令行")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+273)?/*?The?system?was?unable?to?parse?the?command?line?in?this?file.*/
????case?NERR_ProfileLoadErr?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????裝載特征文件時發生錯誤")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+274)?/*?An?error?occurred?while?loading?the?profile?file.?*/
????case?NERR_ProfileSaveErr?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????存儲特征文件時發生錯誤,特征文件存儲了一部分")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+275)?/*?@W?Errors?occurred?while?saving?the?profile?file.??The?profile?was?partially?saved.?*/
/*
?*??????NetAudit?and?NetErrorLog
?*??????????????Error?codes?BASE+277?to?BASE+279
?*/
????case?NERR_LogOverflow???????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????日志文件?%1?為空")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+277)??????/*?Log?file?%1?is?full.?*/
????case?NERR_LogFileChanged????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????日志文件在兩次讀操作之間已改變")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+278)??????/*?This?log?file?has?changed?between?reads.?*/
????case?NERR_LogFileCorrupt????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????日志文件?%1?已壞")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+279)??????/*?Log?file?%1?is?corrupt.?*/
/*
?*??????NetRemote
?*??????????????Error?codes?BASE+280?to?BASE+299
?*/
????case?NERR_SourceIsDir???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????源路徑不能是一個目錄")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+280)?/*?The?source?path?cannot?be?a?directory.?*/
????case?NERR_BadSource?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????非法源路徑")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+281)?/*?The?source?path?is?illegal.?*/
????case?NERR_BadDest???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????非法目的路徑")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+282)?/*?The?destination?path?is?illegal.?*/
????case?NERR_DifferentServers???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????源路徑和目的路徑不在不同服務器")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+283)?/*?The?source?and?destination?paths?are?on?different?servers.?*/
/*?UNUSED?BASE+284?*/
????case?NERR_RunSrvPaused???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????請求的服務器已經中斷")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+285)?/*?The?Run?server?you?requested?is?paused.?*/
/*?UNUSED?BASE+286?*/
/*?UNUSED?BASE+287?*/
/*?UNUSED?BASE+288?*/
????case?NERR_ErrCommRunSrv??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????與一運行的服務器通信時發生錯誤")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+289)?/*?An?error?occurred?when?communicating?with?a?Run?server.?*/
/*?UNUSED?BASE+290?*/
????case?NERR_ErrorExecingGhost??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????啟動一后臺進程時導致一個錯誤")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+291)?/*?An?error?occurred?when?starting?a?background?process.?*/
????case?NERR_ShareNotFound??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????連接的共享資源現在找不到")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+292)?/*?The?shared?resource?you?are?connected?to?could?not?be?found.*/
/*?UNUSED?BASE+293?*/
/*?UNUSED?BASE+294?*/
/*
?*??NetWksta.sys?(redir)?returned?error?codes.
?*
?*??????????NERR_BASE?+?(300-329)
?*/
????case?NERR_InvalidLana????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????局域網適配器編號無效")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+300)?/*?The?LAN?adapter?number?is?invalid.??*/
????case?NERR_OpenFiles??????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????連接中存在打開的文件")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+301)?/*?There?are?open?files?on?the?connection.????*/
????case?NERR_ActiveConns????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????已經存在活動的連接")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+302)?/*?Active?connections?still?exist.?*/
????case?NERR_BadPasswordCore????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????共享名密碼無效")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+303)?/*?This?share?name?or?password?is?invalid.?*/
????case?NERR_DevInUse???????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????設備正為一活動進程所訪問")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+304)?/*?The?device?is?being?accessed?by?an?active?process.?*/
????case?NERR_LocalDrive?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????驅動名正被本地驅動器使用")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+305)?/*?The?drive?letter?is?in?use?locally.?*/
/*
?*??Alert?error?codes.
?*
?*??????????NERR_BASE?+?(330-339)
?*/
????case?NERR_AlertExists????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????指定的客戶已注冊為指定的事件")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+330)?/*?The?specified?client?is?already?registered?for?the?specified?event.?*/
????case?NERR_TooManyAlerts??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????警報表已滿")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+331)?/*?The?alert?table?is?full.?*/
????case?NERR_NoSuchAlert????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????引發一個無效的或不存在的警報名")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+332)?/*?An?invalid?or?nonexistent?alert?name?was?raised.?*/
????case?NERR_BadRecipient???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????警報容器無效")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+333)?/*?The?alert?recipient?is?invalid.*/
????case?NERR_AcctLimitExceeded??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????一個用戶與服務器的會話已刪除,因為用戶的登錄時效已到")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+334)?/*?A?user's?session?with?this?server?has?been?deleted,?because?the?user's?logon?hours?are?no?longer?valid.?*/
/*
?*??Additional?Error?and?Audit?log?codes.
?*
?*??????????NERR_BASE?+(340-343)
?*/
????case?NERR_InvalidLogSeek?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????日志文件沒有包含請求的記錄號")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+340)?/*?The?log?file?does?not?contain?the?requested?record?number.?*/
/*?UNUSED?BASE+341?*/
/*?UNUSED?BASE+342?*/
/*?UNUSED?BASE+343?*/
/*
?*??Additional?UAS?and?NETLOGON?codes
?*
?*??????????NERR_BASE?+(350-359)
?*/
????case?NERR_BadUasConfig???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????用戶賬號數據庫沒有配置正確")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+350)?/*?The?user?accounts?database?is?not?configured?correctly.?*/
????case?NERR_InvalidUASOp???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????Netlogon服務運行時禁止此操作")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+351)?/*?This?operation?is?not?permitted?when?the?Netlogon?service?is?running.?*/
????case?NERR_LastAdmin??????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能對系統最后一個管理員賬號進行此操作")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+352)?/*?This?operation?is?not?allowed?on?the?last?administrative?account.?*/
????case?NERR_DCNotFound?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????找不到域的域控制器")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+353)?/*?Could?not?find?domain?controller?for?this?domain.?*/
????case?NERR_LogonTrackingError?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能為此用戶設置登錄信息")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+354)?/*?Could?not?set?logon?information?for?this?user.?*/
????case?NERR_NetlogonNotStarted?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????Netlogon服務沒有啟動")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+355)?/*?The?Netlogon?service?has?not?been?started.?*/
????case?NERR_CanNotGrowUASFile??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能添加到用戶賬號數據庫")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+356)?/*?Unable?to?add?to?the?user?accounts?database.?*/
????case?NERR_TimeDiffAtDC???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務器的時鐘與主域控制器的時鐘不同步")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+357)?/*?This?server's?clock?is?not?synchronized?with?the?primary?domain?controller's?clock.?*/
????case?NERR_PasswordMismatch???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????偵測到一個密碼不匹配")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+358)?/*?A?password?mismatch?has?been?detected.?*/
/*
?*??Server?Integration?error?codes.
?*
?*??????????NERR_BASE?+(360-369)
?*/
????case?NERR_NoSuchServer???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務器ID沒有指定一個可用的服務器")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+360)?/*?The?server?identification?does?not?specify?a?valid?server.?*/
????case?NERR_NoSuchSession??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????會話ID沒有指定一個可用的會話")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+361)?/*?The?session?identification?does?not?specify?a?valid?session.?*/
????case?NERR_NoSuchConnection???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????連接ID沒有指定一個可用的連接")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+362)?/*?The?connection?identification?does?not?specify?a?valid?connection.?*/
????case?NERR_TooManyServers?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????可用的服務器表中沒有空間提供給另一項")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+363)?/*?There?is?no?space?for?another?entry?in?the?table?of?available?servers.?*/
????case?NERR_TooManySessions????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務器會話數達到它支持的極限")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+364)?/*?The?server?has?reached?the?maximum?number?of?sessions?it?supports.?*/
????case?NERR_TooManyConnections?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務器連接數達到它支持的極限")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+365)?/*?The?server?has?reached?the?maximum?number?of?connections?it?supports.?*/
????case?NERR_TooManyFiles???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務器再不能打開文件,因為打開文件數已經達到最大數")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+366)?/*?The?server?cannot?open?more?files?because?it?has?reached?its?maximum?number.?*/
????case?NERR_NoAlternateServers?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務器沒有注冊后備服務器")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+367)?/*?There?are?no?alternate?servers?registered?on?this?server.?*/
/*?UNUSED?BASE+368?*/
/*?UNUSED?BASE+369?*/
????case?NERR_TryDownLevel???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????API調用錯誤,請試用下一層次(遠程管理協議)的API,代替。")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+370)?/*?Try?down-level?(remote?admin?protocol)?version?of?API?instead.?*/
/*
?*??UPS?error?codes.
?*
?*??????????NERR_BASE?+?(380-384)
?*/
????case?NERR_UPSDriverNotStarted????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????UPS服務不能訪問UPS設備")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+380)?/*?The?UPS?driver?could?not?be?accessed?by?the?UPS?service.?*/
????case?NERR_UPSInvalidConfig???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????UPS服務沒有配置正確")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+381)?/*?The?UPS?service?is?not?configured?correctly.?*/
????case?NERR_UPSInvalidCommPort?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????UPS服務不能訪問指定的通訊端口")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+382)?/*?The?UPS?service?could?not?access?the?specified?Comm?Port.?*/
????case?NERR_UPSSignalAsserted??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????UPS呈線路錯誤或低電池不足狀態,服務不能啟動")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+383)?/*?The?UPS?indicated?a?line?fail?or?low?battery?situation.?Service?not?started.?*/
????case?NERR_UPSShutdownFailed??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????UPS服務不能成功執行系統關閉")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+384)?/*?The?UPS?service?failed?to?perform?a?system?shut?down.?*/
/*
?*??Remoteboot?error?codes.
?*
?*??????????NERR_BASE?+?(400-419)
?*??????????Error?codes?400?-?405?are?used?by?RPLBOOT.SYS.
?*??????????Error?codes?403,?407?-?416?are?used?by?RPLLOADR.COM,
?*??????????Error?code?417?is?the?alerter?message?of?REMOTEBOOT?(RPLSERVR.EXE).
?*??????????Error?code?418?is?for?when?REMOTEBOOT?can't?start
?*??????????Error?code?419?is?for?a?disallowed?2nd?rpl?connection
?*
?*/
????case?NERR_BadDosRetCode??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????程序返回一個MS-DOS錯誤代碼")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+400)?/*?The?program?below?returned?an?MS-DOS?error?code:*/
????case?NERR_ProgNeedsExtraMem??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????程序需要更多的內存")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+401)?/*?The?program?below?needs?more?memory:*/
????case?NERR_BadDosFunction?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????程序調用一個不支持MS-DOS的函數")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+402)?/*?The?program?below?called?an?unsupported?MS-DOS?function:*/
????case?NERR_RemoteBootFailed???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????工作站不能啟動")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+403)?/*?The?workstation?failed?to?boot.*/
????case?NERR_BadFileCheckSum????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????文件錯誤")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+404)?/*?The?file?below?is?corrupt.*/
????case?NERR_NoRplBootSystem????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????啟動定義文件中沒有指定加載系統")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+405)?/*?No?loader?is?specified?in?the?boot-block?definition?file.*/
????case?NERR_RplLoadrNetBiosErr?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????NETBIOS返回一個錯誤:NCB?和?SMB?已卸載")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+406)?/*?NetBIOS?returned?an?error:?The?NCB?and?SMB?are?dumped?above.*/
????case?NERR_RplLoadrDiskErr????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????設備I/O錯誤")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+407)?/*?A?disk?I/O?error?occurred.*/
????case?NERR_ImageParamErr??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????鏡像參數轉換失敗")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+408)?/*?Image?parameter?substitution?failed.*/
????case?NERR_TooManyImageParams?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????跨過磁盤扇區邊界的鏡像參數太多")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+409)?/*?Too?many?image?parameters?cross?disk?sector?boundaries.*/
????case?NERR_NonDosFloppyUsed???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????鏡像不是由MS-DOS的format/s生成的")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+410)?/*?The?image?was?not?generated?from?an?MS-DOS?diskette?formatted?with?/S.*/
????case?NERR_RplBootRestart?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????遠程啟動稍后將重新啟動")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+411)?/*?Remote?boot?will?be?restarted?later.*/
????case?NERR_RplSrvrCallFailed??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????遠程啟動服務調用失敗")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+412)?/*?The?call?to?the?Remoteboot?server?failed.*/
????case?NERR_CantConnectRplSrvr?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能連接遠程啟動服務器")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+413)?/*?Cannot?connect?to?the?Remoteboot?server.*/
????case?NERR_CantOpenImageFile??:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能打開遠程啟動服務器上的鏡像文件")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+414)?/*?Cannot?open?image?file?on?the?Remoteboot?server.*/
????case?NERR_CallingRplSrvr?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????連接遠程啟動服務器中...")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+415)?/*?Connecting?to?the?Remoteboot?server...*/
????case?NERR_StartingRplBoot????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????連接遠程啟動服務器中...")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+416)?/*?Connecting?to?the?Remoteboot?server...*/
????case?NERR_RplBootServiceTerm?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????遠程啟動服務已停止,檢查日志以查找問題起因")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+417)?/*?Remote?boot?service?was?stopped;?check?the?error?log?for?the?cause?of?the?problem.*/
????case?NERR_RplBootStartFailed?:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????遠程啟動引導失敗,檢查日志以查找問題起因")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+418)?/*?Remote?boot?startup?failed;?check?the?error?log?for?the?cause?of?the?problem.*/
????case?NERR_RPL_CONNECTED??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不允許兩次連接遠程啟動資源")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+419)?/*?A?second?connection?to?a?Remoteboot?resource?is?not?allowed.*/
/*
?*??FTADMIN?API?error?codes
?*
?*???????NERR_BASE?+?(425-434)
?*
?*???????(Currently?not?used?in?NT)
?*
?*/
/*
?*??Browser?service?API?error?codes
?*
?*???????NERR_BASE?+?(450-475)
?*
?*/
????case?NERR_BrowserConfiguredToNotRun?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????瀏覽服務配置了MaintainServerList=No")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+450)?/*?The?browser?service?was?configured?with?MaintainServerList=No.?*/
/*
?*??Additional?Remoteboot?error?codes.
?*
?*??????????NERR_BASE?+?(510-550)
?*/
????case?NERR_RplNoAdaptersStarted??????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務啟動失敗因為沒有一塊網卡啟動了此服務")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+510)?/*Service?failed?to?start?since?none?of?the?network?adapters?started?with?this?service.*/
????case?NERR_RplBadRegistry????????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????注冊表啟動信息壞導致服務啟動失敗")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+511)?/*Service?failed?to?start?due?to?bad?startup?information?in?the?registry.*/
????case?NERR_RplBadDatabase????????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務啟動失敗因為其數據庫不存在或已壞")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+512)?/*Service?failed?to?start?because?its?database?is?absent?or?corrupt.*/
????case?NERR_RplRplfilesShare??????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務失敗因為缺少請求參數表文件共享")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+513)?/*Service?failed?to?start?because?RPLFILES?share?is?absent.*/
????case?NERR_RplNotRplServer???????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務失敗因為缺少請求參數表用戶組")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+514)?/*Service?failed?to?start?because?RPLUSER?group?is?absent.*/
????case?NERR_RplCannotEnum?????????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能列舉服務記錄")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+515)?/*Cannot?enumerate?service?records.*/
????case?NERR_RplWkstaInfoCorrupted?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????工作站記錄信息已損壞")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+516)?/*Workstation?record?information?has?been?corrupted.*/
????case?NERR_RplWkstaNotFound??????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????找不到工作站記錄")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+517)?/*Workstation?record?was?not?found.*/
????case?NERR_RplWkstaNameUnavailable???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????其它工作站使用了此工作名")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+518)?/*Workstation?name?is?in?use?by?some?other?workstation.*/
????case?NERR_RplProfileInfoCorrupted???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????特征記錄信息已損壞")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+519)?/*Profile?record?information?has?been?corrupted.*/
????case?NERR_RplProfileNotFound????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????找不到特征記錄")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+520)?/*Profile?record?was?not?found.*/
????case?NERR_RplProfileNameUnavailable?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????其它特征使用了此名")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+521)?/*Profile?name?is?in?use?by?some?other?profile.*/
????case?NERR_RplProfileNotEmpty????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????一些工作站使用了此特征")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+522)?/*There?are?workstations?using?this?profile.*/
????case?NERR_RplConfigInfoCorrupted????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????配置記錄信息已損壞")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+523)?/*Configuration?record?information?has?been?corrupted.*/
????case?NERR_RplConfigNotFound?????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????找不到配置記錄")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+524)?/*Configuration?record?was?not?found.*/
????case?NERR_RplAdapterInfoCorrupted???????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????適配器ID記錄信息已損壞")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+525)?/*Adapter?id?record?information?has?been?corrupted.*/
????case?NERR_RplInternal???????????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????發生一個內部服務錯誤")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+526)?/*An?internal?service?error?has?occurred.*/
????case?NERR_RplVendorInfoCorrupted????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????供應商ID記錄信息已損壞")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
????????break;//(NERR_BASE+527)?/*Vendor?id?record?information?has?been?corrupted.*/
????case?NERR_RplBootInfoCorrupted??????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????啟動塊記錄信息已損壞")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+528)?/*Boot?block?record?information?has?been?corrupted.*/
????case?NERR_RplWkstaNeedsUserAcct?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????此計算機記錄的用戶賬號丟失")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+529)?/*The?user?account?for?this?workstation?record?is?missing.*/
????case?NERR_RplNeedsRPLUSERAcct???????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????找不到請求參數表用戶本地組")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+530)?/*The?RPLUSER?local?group?could?not?be?found.*/
????case?NERR_RplBootNotFound???????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????找不到啟動塊記錄")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+531)?/*Boot?block?record?was?not?found.*/
????case?NERR_RplIncompatibleProfile????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????工作站與特征文件不符合")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+532)?/*Chosen?profile?is?incompatible?with?this?workstation.*/
????case?NERR_RplAdapterNameUnavailable?????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????其它工作站使用了選擇的網卡ID")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+533)?/*Chosen?network?adapter?id?is?in?use?by?some?other?workstation.*/
????case?NERR_RplConfigNotEmpty?????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????已經有其它特征文件使用了此配置")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+534)?/*There?are?profiles?using?this?configuration.*/
????case?NERR_RplBootInUse??????????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????已經有工作站、特征文件或配置使用了此啟動塊")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+535)?/*There?are?workstations,?profiles?or?configurations?using?this?boot?block.*/
????case?NERR_RplBackupDatabase?????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????服務備份遠程啟動數據庫失敗")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+536)?/*Service?failed?to?backup?Remoteboot?database.*/
????case?NERR_RplAdapterNotFound????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????找不到適配器記錄")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+537)?/*Adapter?record?was?not?found.*/
????case?NERR_RplVendorNotFound?????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????找不到供應商記錄")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+538)?/*Vendor?record?was?not?found.*/
????case?NERR_RplVendorNameUnavailable??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????其它供應商記錄已使用了此名字")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+539)?/*Vendor?name?is?in?use?by?some?other?vendor?record.*/
????case?NERR_RplBootNameUnavailable????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????其它啟動塊記錄已使用了此(啟動名、供應商ID)")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+540)?/*(boot?name,?vendor?id)?is?in?use?by?some?other?boot?block?record.*/
????case?NERR_RplConfigNameUnavailable??????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????其它配置已使用了此名")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+541)?/*Configuration?name?is?in?use?by?some?other?configuration.*/
/**INTERNAL_ONLY**/
/*
?*??Dfs?API?error?codes.
?*
?*??????????NERR_BASE?+?(560-590)
?*/
????case?NERR_DfsInternalCorruption?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????分布式文件系統維護的內部數據庫已損壞")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+560)?/*The?internal?database?maintained?by?the?Dfs?service?is?corrupt*/
????case?NERR_DfsVolumeDataCorrupt??????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????內部分布式文件系統數據庫的一條記錄已損壞")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+561)?/*One?of?the?records?in?the?internal?Dfs?database?is?corrupt*/
????case?NERR_DfsNoSuchVolume???????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????沒有卷上存在與輸入項匹配的路徑項")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+562)?/*There?is?no?volume?whose?entry?path?matches?the?input?Entry?Path*/
????case?NERR_DfsVolumeAlreadyExists????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????指定的卷名已存在")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+563)?/*A?volume?with?the?given?name?already?exists*/
????case?NERR_DfsAlreadyShared??????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????分布式文件系統中已存在與指定名相同的共享")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+564)?/*The?server?share?specified?is?already?shared?in?the?Dfs*/
????case?NERR_DfsNoSuchShare????????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????指定的服務器共享不支持指定的分布式文件系統卷")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+565)?/*The?indicated?server?share?does?not?support?the?indicated?Dfs?volume*/
????case?NERR_DfsNotALeafVolume?????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????操作對一個無葉結點的卷無效")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+566)?/*The?operation?is?not?valid?on?a?non-leaf?volume*/
????case?NERR_DfsLeafVolume?????????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????操作對一個存在葉結點的卷無效")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+567)?/*The?operation?is?not?valid?on?a?leaf?volume*/
????case?NERR_DfsVolumeHasMultipleServers???:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????操作有岐義因為卷提供多重服務")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+568)?/*The?operation?is?ambiguous?because?the?volume?has?multiple?servers*/
????case?NERR_DfsCantCreateJunctionPoint????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????不能創建一個連接點")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+569)?/*Unable?to?create?a?junction?point*/
????case?NERR_DfsServerNotDfsAware??????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????分布式文件系統不能感知服務器")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+570)?/*The?server?is?not?Dfs?Aware*/
????case?NERR_DfsBadRenamePath??????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????指定的目標路徑無效")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+571)?/*The?specified?rename?target?path?is?invalid*/
????case?NERR_DfsVolumeIsOffline????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????指定的分布式文件系統卷沒有聯機")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+572)?/*The?specified?Dfs?volume?is?offline*/
????case?NERR_DfsNoSuchServer???????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????指定的服務器不是該卷所在服務器")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+573)?/*The?specified?server?is?not?a?server?for?this?volume*/
????case?NERR_DfsCyclicalName???????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????偵測到存在分布式文件系統名")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+574)?/*A?cycle?in?the?Dfs?name?was?detected*/
????case?NERR_DfsNotSupportedInServerDfs????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????基于服務器的分布式文件系統不支持此操作")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+575)?/*The?operation?is?not?supported?on?a?server-based?Dfs*/
????case?NERR_DfsInternalError??????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????分布式文件系統內部錯")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+590)?/*Dfs?internal?error*/
/*
?*??Net?setup?error?codes.
?*
?*??????????NERR_BASE?+?(591-595)
?*/
????case?NERR_SetupAlreadyJoined????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????計算機已經加入到一個域中")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+591)?/*This?machine?is?already?joined?to?a?domain.*/
????case?NERR_SetupNotJoined????????????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????計算機沒有加入到一個域中")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+592)?/*This?machine?is?not?currently?joined?to?a?domain.*/
????case?NERR_SetupDomainController?????????:MessageBox(hwnd,AnsiString(AnsiString("錯誤?")+AnsiString(IntToStr(err))+AnsiString(":???????????????計算機是域的一個控制器,不能從域中移走")).c_str(),lpCaption,MB_APPLMODAL|MB_OK|MB_ICONWARNING);
?????????break;//(NERR_BASE+593)?/*This?machine?is?a?domain?controller?and?cannot?be?unjoined?from?a?domain.*/
???}
??return?err;
?}
21?窗口自適應。
假設你在800*600的分辨率下設計的form,第一步:
inplementation
const
??ScreenWidth:?LongInt?=?800;?{I?designed?my?form?in?800x600?mode.}
??ScreenHeight:?LongInt?=?600;
{$R?*.DFM}
procedure?TForm1.FormCreate(Sender:?TObject);
begin
??scaled?:=?true;
??if?(screen.width?<>?ScreenWidth)?then
??begin
????height?:=?longint(height)?*?longint(screen.height)?div?ScreenHeight;
????width?:=?longint(width)?*?longint(screen.width)?div?ScreenWidth;
????scaleBy(screen.width,?ScreenWidth);
??end;
end;
下一步,要讓每個子控制的字體改變到合適的大小:
type
??TFooClass?=?class(TControl);?{?needed?to?get?at?protected?}
???????????????????????????????{?font?property?}
var
??i:?integer;
begin
??for?i?:=?ControlCount?-?1?downto?0?do
????TFooClass(Controls[i]).Font.Size?:=
????????(NewFormWidth?div?OldFormWidth)?*
????????TFooClass(Controls[i]).Font.Size;
end;
總結
以上是生活随笔為你收集整理的Delphi笔记整理(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Delphi的笔记整理(一)
- 下一篇: 今天的我叫史努比的飞鸽传书