- Add support for "!wm <value>" and "!wm <name>"
commands.
- Update the #develop project file.
- Add list of window message values. Thanks to Royce3.
Added: trunk/irc/TechBot/Resources/wm.xml
Modified: trunk/irc/TechBot/TechBot/App.config
Modified: trunk/irc/TechBot/TechBot/ServiceThread.cs
Modified: trunk/irc/TechBot/TechBot.Console/App.config
Modified: trunk/irc/TechBot/TechBot.Console/Main.cs
Modified: trunk/irc/TechBot/TechBot.Library/IrcService.cs
Modified: trunk/irc/TechBot/TechBot.Library/TechBot.Library.prjx
Modified: trunk/irc/TechBot/TechBot.Library/TechBotService.cs
Added: trunk/irc/TechBot/TechBot.Library/WmCommand.cs
_____
Added: trunk/irc/TechBot/Resources/wm.xml
--- trunk/irc/TechBot/Resources/wm.xml 2005-12-14 12:41:38 UTC (rev
20163)
+++ trunk/irc/TechBot/Resources/wm.xml 2005-12-14 17:34:00 UTC (rev
20164)
@@ -0,0 +1,321 @@
+<?xml version="1.0" ?>
+<WindowMessageList>
+ <WindowMessage text="WM_APP" value="32768" />
+ <WindowMessage text="WM_ACTIVATE" value="6" />
+ <WindowMessage text="WM_ACTIVATEAPP" value="28" />
+ <WindowMessage text="WM_AFXFIRST" value="864" />
+ <WindowMessage text="WM_AFXLAST" value="895" />
+ <WindowMessage text="WM_ASKCBFORMATNAME" value="780" />
+ <WindowMessage text="WM_CANCELJOURNAL" value="75" />
+ <WindowMessage text="WM_CANCELMODE" value="31" />
+ <WindowMessage text="WM_CAPTURECHANGED" value="533" />
+ <WindowMessage text="WM_CHANGECBCHAIN" value="781" />
+ <WindowMessage text="WM_CHANGEUISTATE" value="295" />
+ <WindowMessage text="WM_UPDATEUISTATE" value="296" />
+ <WindowMessage text="WM_QUERYUISTATE" value="297" />
+ <WindowMessage text="WM_CHAR" value="258" />
+ <WindowMessage text="WM_CHARTOITEM" value="47" />
+ <WindowMessage text="WM_CHILDACTIVATE" value="34" />
+ <WindowMessage text="WM_CLEAR" value="771" />
+ <WindowMessage text="WM_CLOSE" value="16" />
+ <WindowMessage text="WM_COMMAND" value="273" />
+ <WindowMessage text="WM_COMMNOTIFY" value="68" />
+ <WindowMessage text="WM_COMPACTING" value="65" />
+ <WindowMessage text="WM_COMPAREITEM" value="57" />
+ <WindowMessage text="WM_CONTEXTMENU" value="123" />
+ <WindowMessage text="WM_COPY" value="769" />
+ <WindowMessage text="WM_COPYDATA" value="74" />
+ <WindowMessage text="WM_CREATE" value="1" />
+ <WindowMessage text="WM_CTLCOLORBTN" value="309" />
+ <WindowMessage text="WM_CTLCOLORDLG" value="310" />
+ <WindowMessage text="WM_CTLCOLOREDIT" value="307" />
+ <WindowMessage text="WM_CTLCOLORLISTBOX" value="308" />
+ <WindowMessage text="WM_CTLCOLORMSGBOX" value="306" />
+ <WindowMessage text="WM_CTLCOLORSCROLLBAR" value="311" />
+ <WindowMessage text="WM_CTLCOLORSTATIC" value="312" />
+ <WindowMessage text="WM_CUT" value="768" />
+ <WindowMessage text="WM_DEADCHAR" value="259" />
+ <WindowMessage text="WM_DELETEITEM" value="45" />
+ <WindowMessage text="WM_DESTROY" value="2" />
+ <WindowMessage text="WM_DESTROYCLIPBOARD" value="775" />
+ <WindowMessage text="WM_DEVICECHANGE" value="537" />
+ <WindowMessage text="WM_DEVMODECHANGE" value="27" />
+ <WindowMessage text="WM_DISPLAYCHANGE" value="126" />
+ <WindowMessage text="WM_DRAWCLIPBOARD" value="776" />
+ <WindowMessage text="WM_DRAWITEM" value="43" />
+ <WindowMessage text="WM_DROPFILES" value="563" />
+ <WindowMessage text="WM_ENABLE" value="10" />
+ <WindowMessage text="WM_ENDSESSION" value="22" />
+ <WindowMessage text="WM_ENTERIDLE" value="289" />
+ <WindowMessage text="WM_ENTERMENULOOP" value="529" />
+ <WindowMessage text="WM_ENTERSIZEMOVE" value="561" />
+ <WindowMessage text="WM_ERASEBKGND" value="20" />
+ <WindowMessage text="WM_EXITMENULOOP" value="530" />
+ <WindowMessage text="WM_EXITSIZEMOVE" value="562" />
+ <WindowMessage text="WM_FONTCHANGE" value="29" />
+ <WindowMessage text="WM_GETDLGCODE" value="135" />
+ <WindowMessage text="WM_GETFONT" value="49" />
+ <WindowMessage text="WM_GETHOTKEY" value="51" />
+ <WindowMessage text="WM_GETICON" value="127" />
+ <WindowMessage text="WM_GETMINMAXINFO" value="36" />
+ <WindowMessage text="WM_GETTEXT" value="13" />
+ <WindowMessage text="WM_GETTEXTLENGTH" value="14" />
+ <WindowMessage text="WM_HANDHELDFIRST" value="856" />
+ <WindowMessage text="WM_HANDHELDLAST" value="863" />
+ <WindowMessage text="WM_HELP" value="83" />
+ <WindowMessage text="WM_HOTKEY" value="786" />
+ <WindowMessage text="WM_HSCROLL" value="276" />
+ <WindowMessage text="WM_HSCROLLCLIPBOARD" value="782" />
+ <WindowMessage text="WM_ICONERASEBKGND" value="39" />
+ <WindowMessage text="WM_INITDIALOG" value="272" />
+ <WindowMessage text="WM_INITMENU" value="278" />
+ <WindowMessage text="WM_INITMENUPOPUP" value="279" />
+ <WindowMessage text="WM_INPUTLANGCHANGE" value="81" />
+ <WindowMessage text="WM_INPUTLANGCHANGEREQUEST" value="80" />
+ <WindowMessage text="WM_KEYDOWN" value="256" />
+ <WindowMessage text="WM_KEYUP" value="257" />
+ <WindowMessage text="WM_KILLFOCUS" value="8" />
+ <WindowMessage text="WM_MDIACTIVATE" value="546" />
+ <WindowMessage text="WM_MDICASCADE" value="551" />
+ <WindowMessage text="WM_MDICREATE" value="544" />
+ <WindowMessage text="WM_MDIDESTROY" value="545" />
+ <WindowMessage text="WM_MDIGETACTIVE" value="553" />
+ <WindowMessage text="WM_MDIICONARRANGE" value="552" />
+ <WindowMessage text="WM_MDIMAXIMIZE" value="549" />
+ <WindowMessage text="WM_MDINEXT" value="548" />
+ <WindowMessage text="WM_MDIREFRESHMENU" value="564" />
+ <WindowMessage text="WM_MDIRESTORE" value="547" />
+ <WindowMessage text="WM_MDISETMENU" value="560" />
+ <WindowMessage text="WM_MDITILE" value="550" />
+ <WindowMessage text="WM_MEASUREITEM" value="44" />
+ <WindowMessage text="WM_MENURBUTTONUP" value="290" />
+ <WindowMessage text="WM_MENUCHAR" value="288" />
+ <WindowMessage text="WM_MENUSELECT" value="287" />
+ <WindowMessage text="WM_NEXTMENU" value="531" />
+ <WindowMessage text="WM_MOVE" value="3" />
+ <WindowMessage text="WM_MOVING" value="534" />
+ <WindowMessage text="WM_NCACTIVATE" value="134" />
+ <WindowMessage text="WM_NCCALCSIZE" value="131" />
+ <WindowMessage text="WM_NCCREATE" value="129" />
+ <WindowMessage text="WM_NCDESTROY" value="130" />
+ <WindowMessage text="WM_NCHITTEST" value="132" />
+ <WindowMessage text="WM_NCLBUTTONDBLCLK" value="163" />
+ <WindowMessage text="WM_NCLBUTTONDOWN" value="161" />
+ <WindowMessage text="WM_NCLBUTTONUP" value="162" />
+ <WindowMessage text="WM_NCMBUTTONDBLCLK" value="169" />
+ <WindowMessage text="WM_NCMBUTTONDOWN" value="167" />
+ <WindowMessage text="WM_NCMBUTTONUP" value="168" />
+ <WindowMessage text="WM_NCXBUTTONDOWN" value="171" />
+ <WindowMessage text="WM_NCXBUTTONUP" value="172" />
+ <WindowMessage text="WM_NCXBUTTONDBLCLK" value="173" />
+ <WindowMessage text="WM_NCMOUSEMOVE" value="160" />
+ <WindowMessage text="WM_NCMOUSEHOVER" value="0x02A0" />
+ <WindowMessage text="WM_NCMOUSELEAVE" value="0x02A2" />
+ <WindowMessage text="WM_NCPAINT" value="133" />
+ <WindowMessage text="WM_NCRBUTTONDBLCLK" value="166" />
+ <WindowMessage text="WM_NCRBUTTONDOWN" value="164" />
+ <WindowMessage text="WM_NCRBUTTONUP" value="165" />
+ <WindowMessage text="WM_NEXTDLGCTL" value="40" />
+ <WindowMessage text="WM_NEXTMENU" value="531" />
+ <WindowMessage text="WM_NOTIFY" value="78" />
+ <WindowMessage text="WM_NOTIFYFORMAT" value="85" />
+ <WindowMessage text="WM_NULL" value="0" />
+ <WindowMessage text="WM_PAINT" value="15" />
+ <WindowMessage text="WM_PAINTCLIPBOARD" value="777" />
+ <WindowMessage text="WM_PAINTICON" value="38" />
+ <WindowMessage text="WM_PALETTECHANGED" value="785" />
+ <WindowMessage text="WM_PALETTEISCHANGING" value="784" />
+ <WindowMessage text="WM_PARENTNOTIFY" value="528" />
+ <WindowMessage text="WM_PASTE" value="770" />
+ <WindowMessage text="WM_PENWINFIRST" value="896" />
+ <WindowMessage text="WM_PENWINLAST" value="911" />
+ <WindowMessage text="WM_POWER" value="72" />
+ <WindowMessage text="WM_POWERBROADCAST" value="536" />
+ <WindowMessage text="WM_PRINT" value="791" />
+ <WindowMessage text="WM_PRINTCLIENT" value="792" />
+ <WindowMessage text="WM_QUERYDRAGICON" value="55" />
+ <WindowMessage text="WM_QUERYENDSESSION" value="17" />
+ <WindowMessage text="WM_QUERYNEWPALETTE" value="783" />
+ <WindowMessage text="WM_QUERYOPEN" value="19" />
+ <WindowMessage text="WM_QUEUESYNC" value="35" />
+ <WindowMessage text="WM_QUIT" value="18" />
+ <WindowMessage text="WM_RENDERALLFORMATS" value="774" />
+ <WindowMessage text="WM_RENDERFORMAT" value="773" />
+ <WindowMessage text="WM_SETCURSOR" value="32" />
+ <WindowMessage text="WM_SETFOCUS" value="7" />
+ <WindowMessage text="WM_SETFONT" value="48" />
+ <WindowMessage text="WM_SETHOTKEY" value="50" />
+ <WindowMessage text="WM_SETICON" value="128" />
+ <WindowMessage text="WM_SETREDRAW" value="11" />
+ <WindowMessage text="WM_SETTEXT" value="12" />
+ <WindowMessage text="WM_SETTINGCHANGE" value="26" />
+ <WindowMessage text="WM_SHOWWINDOW" value="24" />
+ <WindowMessage text="WM_SIZE" value="5" />
+ <WindowMessage text="WM_SIZECLIPBOARD" value="779" />
+ <WindowMessage text="WM_SIZING" value="532" />
+ <WindowMessage text="WM_SPOOLERSTATUS" value="42" />
+ <WindowMessage text="WM_STYLECHANGED" value="125" />
+ <WindowMessage text="WM_STYLECHANGING" value="124" />
+ <WindowMessage text="WM_SYSCHAR" value="262" />
+ <WindowMessage text="WM_SYSCOLORCHANGE" value="21" />
+ <WindowMessage text="WM_SYSCOMMAND" value="274" />
+ <WindowMessage text="WM_SYSDEADCHAR" value="263" />
+ <WindowMessage text="WM_SYSKEYDOWN" value="260" />
+ <WindowMessage text="WM_SYSKEYUP" value="261" />
+ <WindowMessage text="WM_TCARD" value="82" />
+ <WindowMessage text="WM_TIMECHANGE" value="30" />
+ <WindowMessage text="WM_TIMER" value="275" />
+ <WindowMessage text="WM_SYSTIMER" value="280" />
+ <WindowMessage text="WM_UNDO" value="772" />
+ <WindowMessage text="WM_USER" value="1024" />
+ <WindowMessage text="WM_USERCHANGED" value="84" />
+ <WindowMessage text="WM_VKEYTOITEM" value="46" />
+ <WindowMessage text="WM_VSCROLL" value="277" />
+ <WindowMessage text="WM_VSCROLLCLIPBOARD" value="778" />
+ <WindowMessage text="WM_WINDOWPOSCHANGED" value="71" />
+ <WindowMessage text="WM_WINDOWPOSCHANGING" value="70" />
+ <WindowMessage text="WM_WININICHANGE" value="26" />
+ <WindowMessage text="WM_KEYFIRST" value="256" />
+ <WindowMessage text="WM_KEYLAST" value="264" />
+ <WindowMessage text="WM_SYNCPAINT" value="136" />
+ <WindowMessage text="WM_MOUSEACTIVATE" value="33" />
+ <WindowMessage text="WM_MOUSEMOVE" value="512" />
+ <WindowMessage text="WM_LBUTTONDOWN" value="513" />
+ <WindowMessage text="WM_LBUTTONUP" value="514" />
+ <WindowMessage text="WM_LBUTTONDBLCLK" value="515" />
+ <WindowMessage text="WM_RBUTTONDOWN" value="516" />
+ <WindowMessage text="WM_RBUTTONUP" value="517" />
+ <WindowMessage text="WM_RBUTTONDBLCLK" value="518" />
+ <WindowMessage text="WM_MBUTTONDOWN" value="519" />
+ <WindowMessage text="WM_MBUTTONUP" value="520" />
+ <WindowMessage text="WM_MBUTTONDBLCLK" value="521" />
+ <WindowMessage text="WM_MOUSEWHEEL" value="522" />
+ <WindowMessage text="WM_MOUSEFIRST" value="512" />
+ <WindowMessage text="WM_XBUTTONDOWN" value="523" />
+ <WindowMessage text="WM_XBUTTONUP" value="524" />
+ <WindowMessage text="WM_XBUTTONDBLCLK" value="525" />
+ <WindowMessage text="WM_MOUSELAST" value="525" />
+ <WindowMessage text="WM_MOUSEHOVER" value="0x2A1" />
+ <WindowMessage text="WM_MOUSELEAVE" value="0x2A3" />
+ <WindowMessage text="WM_THEMECHANGED" value="794" />
+ <WindowMessage text="BM_CLICK" value="245" />
+ <WindowMessage text="BM_GETCHECK" value="240" />
+ <WindowMessage text="BM_GETIMAGE" value="246" />
+ <WindowMessage text="BM_GETSTATE" value="242" />
+ <WindowMessage text="BM_SETCHECK" value="241" />
+ <WindowMessage text="BM_SETIMAGE" value="247" />
+ <WindowMessage text="BM_SETSTATE" value="243" />
+ <WindowMessage text="BM_SETSTYLE" value="244" />
+ <WindowMessage text="CB_ADDSTRING" value="323" />
+ <WindowMessage text="CB_DELETESTRING" value="324" />
+ <WindowMessage text="CB_DIR" value="325" />
+ <WindowMessage text="CB_FINDSTRING" value="332" />
+ <WindowMessage text="CB_FINDSTRINGEXACT" value="344" />
+ <WindowMessage text="CB_GETCOMBOBOXINFO" value="356" />
+ <WindowMessage text="CB_GETCOUNT" value="326" />
+ <WindowMessage text="CB_GETCURSEL" value="327" />
+ <WindowMessage text="CB_GETDROPPEDCONTROLRECT" value="338" />
+ <WindowMessage text="CB_GETDROPPEDSTATE" value="343" />
+ <WindowMessage text="CB_GETDROPPEDWIDTH" value="351" />
+ <WindowMessage text="CB_GETEDITSEL" value="320" />
+ <WindowMessage text="CB_GETEXTENDEDUI" value="342" />
+ <WindowMessage text="CB_GETHORIZONTALEXTENT" value="349" />
+ <WindowMessage text="CB_GETITEMDATA" value="336" />
+ <WindowMessage text="CB_GETITEMHEIGHT" value="340" />
+ <WindowMessage text="CB_GETLBTEXT" value="328" />
+ <WindowMessage text="CB_GETLBTEXTLEN" value="329" />
+ <WindowMessage text="CB_GETLOCALE" value="346" />
+ <WindowMessage text="CB_GETTOPINDEX" value="347" />
+ <WindowMessage text="CB_INITSTORAGE" value="353" />
+ <WindowMessage text="CB_INSERTSTRING" value="330" />
+ <WindowMessage text="CB_LIMITTEXT" value="321" />
+ <WindowMessage text="CB_RESETCONTENT" value="331" />
+ <WindowMessage text="CB_SELECTSTRING" value="333" />
+ <WindowMessage text="CB_SETCURSEL" value="334" />
+ <WindowMessage text="CB_SETDROPPEDWIDTH" value="352" />
+ <WindowMessage text="CB_SETEDITSEL" value="322" />
+ <WindowMessage text="CB_SETEXTENDEDUI" value="341" />
+ <WindowMessage text="CB_SETHORIZONTALEXTENT" value="350" />
+ <WindowMessage text="CB_SETITEMDATA" value="337" />
+ <WindowMessage text="CB_SETITEMHEIGHT" value="339" />
+ <WindowMessage text="CB_SETLOCALE" value="345" />
+ <WindowMessage text="CB_SETTOPINDEX" value="348" />
+ <WindowMessage text="CB_SHOWDROPDOWN" value="335" />
+ <WindowMessage text="EM_CANUNDO" value="198" />
+ <WindowMessage text="EM_CHARFROMPOS" value="215" />
+ <WindowMessage text="EM_EMPTYUNDOBUFFER" value="205" />
+ <WindowMessage text="EM_FMTLINES" value="200" />
+ <WindowMessage text="EM_GETFIRSTVISIBLELINE" value="206" />
+ <WindowMessage text="EM_GETHANDLE" value="189" />
+ <WindowMessage text="EM_GETLIMITTEXT" value="213" />
+ <WindowMessage text="EM_GETLINE" value="196" />
+ <WindowMessage text="EM_GETLINECOUNT" value="186" />
+ <WindowMessage text="EM_GETMARGINS" value="212" />
+ <WindowMessage text="EM_GETMODIFY" value="184" />
+ <WindowMessage text="EM_GETPASSWORDCHAR" value="210" />
+ <WindowMessage text="EM_GETRECT" value="178" />
+ <WindowMessage text="EM_GETSEL" value="176" />
+ <WindowMessage text="EM_GETTHUMB" value="190" />
+ <WindowMessage text="EM_GETWORDBREAKPROC" value="209" />
+ <WindowMessage text="EM_LIMITTEXT" value="197" />
+ <WindowMessage text="EM_LINEFROMCHAR" value="201" />
+ <WindowMessage text="EM_LINEINDEX" value="187" />
+ <WindowMessage text="EM_LINELENGTH" value="193" />
+ <WindowMessage text="EM_LINESCROLL" value="182" />
+ <WindowMessage text="EM_POSFROMCHAR" value="214" />
+ <WindowMessage text="EM_REPLACESEL" value="194" />
+ <WindowMessage text="EM_SCROLL" value="181" />
+ <WindowMessage text="EM_SCROLLCARET" value="183" />
+ <WindowMessage text="EM_SETHANDLE" value="188" />
+ <WindowMessage text="EM_SETLIMITTEXT" value="197" />
+ <WindowMessage text="EM_SETMARGINS" value="211" />
+ <WindowMessage text="EM_SETMODIFY" value="185" />
+ <WindowMessage text="EM_SETPASSWORDCHAR" value="204" />
+ <WindowMessage text="EM_SETREADONLY" value="207" />
+ <WindowMessage text="EM_SETRECT" value="179" />
+ <WindowMessage text="EM_SETRECTNP" value="180" />
+ <WindowMessage text="EM_SETSEL" value="177" />
+ <WindowMessage text="EM_SETTABSTOPS" value="203" />
+ <WindowMessage text="EM_SETWORDBREAKPROC" value="208" />
+ <WindowMessage text="EM_UNDO" value="199" />
+ <WindowMessage text="LB_ADDFILE" value="406" />
+ <WindowMessage text="LB_ADDSTRING" value="384" />
+ <WindowMessage text="LB_DELETESTRING" value="386" />
+ <WindowMessage text="LB_DIR" value="397" />
+ <WindowMessage text="LB_FINDSTRING" value="399" />
+ <WindowMessage text="LB_FINDSTRINGEXACT" value="418" />
+ <WindowMessage text="LB_GETANCHORINDEX" value="413" />
+ <WindowMessage text="LB_GETCARETINDEX" value="415" />
+ <WindowMessage text="LB_GETCOUNT" value="395" />
+ <WindowMessage text="LB_GETCURSEL" value="392" />
+ <WindowMessage text="LB_GETHORIZONTALEXTENT" value="403" />
+ <WindowMessage text="LB_GETITEMDATA" value="409" />
+ <WindowMessage text="LB_GETITEMHEIGHT" value="417" />
+ <WindowMessage text="LB_GETITEMRECT" value="408" />
+ <WindowMessage text="LB_GETLOCALE" value="422" />
+ <WindowMessage text="LB_GETSEL" value="391" />
+ <WindowMessage text="LB_GETSELCOUNT" value="400" />
+ <WindowMessage text="LB_GETSELITEMS" value="401" />
+ <WindowMessage text="LB_GETTEXT" value="393" />
+ <WindowMessage text="LB_GETTEXTLEN" value="394" />
+ <WindowMessage text="LB_GETTOPINDEX" value="398" />
+ <WindowMessage text="LB_INITSTORAGE" value="424" />
+ <WindowMessage text="LB_INSERTSTRING" value="385" />
+ <WindowMessage text="LB_ITEMFROMPOINT" value="425" />
+ <WindowMessage text="LB_RESETCONTENT" value="388" />
+ <WindowMessage text="LB_SELECTSTRING" value="396" />
+ <WindowMessage text="LB_SELITEMRANGE" value="411" />
+ <WindowMessage text="LB_SELITEMRANGEEX" value="387" />
+ <WindowMessage text="LB_SETANCHORINDEX" value="412" />
+ <WindowMessage text="LB_SETCARETINDEX" value="414" />
+ <WindowMessage text="LB_SETCOLUMNWIDTH" value="405" />
+ <WindowMessage text="LB_SETCOUNT" value="423" />
+ <WindowMessage text="LB_SETCURSEL" value="390" />
+ <WindowMessage text="LB_SETHORIZONTALEXTENT" value="404" />
+ <WindowMessage text="LB_SETITEMDATA" value="410" />
+ <WindowMessage text="LB_SETITEMHEIGHT" value="416" />
+ <WindowMessage text="LB_SETLOCALE" value="421" />
+ <WindowMessage text="LB_SETSEL" value="389" />
+ <WindowMessage text="LB_SETTABSTOPS" value="402" />
+ <WindowMessage text="LB_SETTOPINDEX" value="407" />
+</WindowMessageList>
_____
Modified: trunk/irc/TechBot/TechBot/App.config
--- trunk/irc/TechBot/TechBot/App.config 2005-12-14 12:41:38 UTC
(rev 20163)
+++ trunk/irc/TechBot/TechBot/App.config 2005-12-14 17:34:00 UTC
(rev 20164)
@@ -10,6 +10,7 @@
<add key="NtstatusXml"
value="C:\IRC\TechBot\ntstatus.xml" />
<add key="WinerrorXml"
value="C:\IRC\TechBot\winerror.xml" />
<add key="HresultXml" value="C:\IRC\TechBot\hresult.xml"
/>
+ <add key="WmXml" value="C:\IRC\TechBot\wm.xml" />
<add key="SvnCommand" value="svn co
svn://svn.reactos.com/trunk/reactos" />
</appSettings>
</configuration>
_____
Modified: trunk/irc/TechBot/TechBot/ServiceThread.cs
--- trunk/irc/TechBot/TechBot/ServiceThread.cs 2005-12-14 12:41:38 UTC
(rev 20163)
+++ trunk/irc/TechBot/TechBot/ServiceThread.cs 2005-12-14 17:34:00 UTC
(rev 20164)
@@ -15,6 +15,7 @@
private string MainChm;
private string NtstatusXml;
private string HresultXml;
+ private string WmXml;
private string WinerrorXml;
private string SvnCommand;
private EventLog eventLog;
@@ -34,6 +35,7 @@
MainChm =
ConfigurationSettings.AppSettings["MainChm"];
NtstatusXml =
ConfigurationSettings.AppSettings["NtstatusXml"];
HresultXml =
ConfigurationSettings.AppSettings["HresultXml"];
+ WmXml =
ConfigurationSettings.AppSettings["WmXml"];
WinerrorXml =
ConfigurationSettings.AppSettings["WinerrorXml"];
SvnCommand =
ConfigurationSettings.AppSettings["SvnCommand"];
}
@@ -52,6 +54,7 @@
NtstatusXml,
WinerrorXml,
HresultXml,
+ WmXml,
SvnCommand);
ircService.Run();
}
_____
Modified: trunk/irc/TechBot/TechBot.Console/App.config
--- trunk/irc/TechBot/TechBot.Console/App.config 2005-12-14
12:41:38 UTC (rev 20163)
+++ trunk/irc/TechBot/TechBot.Console/App.config 2005-12-14
17:34:00 UTC (rev 20164)
@@ -10,6 +10,7 @@
<add key="NtstatusXml"
value="C:\IRC\TechBot\ntstatus.xml" />
<add key="WinerrorXml"
value="C:\IRC\TechBot\winerror.xml" />
<add key="HresultXml" value="C:\IRC\TechBot\hresult.xml"
/>
+ <add key="WmXml" value="C:\IRC\TechBot\wm.xml" />
<add key="SvnCommand" value="svn co
svn://svn.reactos.com/trunk/reactos" />
</appSettings>
</configuration>
_____
Modified: trunk/irc/TechBot/TechBot.Console/Main.cs
--- trunk/irc/TechBot/TechBot.Console/Main.cs 2005-12-14 12:41:38 UTC
(rev 20163)
+++ trunk/irc/TechBot/TechBot.Console/Main.cs 2005-12-14 17:34:00 UTC
(rev 20164)
@@ -134,6 +134,18 @@
}
}
+ private static string WmXml
+ {
+ get
+ {
+ string optionName = "WmXml";
+ string s =
ConfigurationSettings.AppSettings[optionName];
+ VerifyRequiredOption(optionName,
+ s);
+ return s;
+ }
+ }
+
private static string SvnCommand
{
get
@@ -157,6 +169,7 @@
NtstatusXml,
WinerrorXml,
HresultXml,
+ WmXml,
SvnCommand);
ircService.Run();
}
@@ -176,6 +189,7 @@
NtstatusXml,
WinerrorXml,
HresultXml,
+
WmXml,
SvnCommand);
service.Run();
while (true)
_____
Modified: trunk/irc/TechBot/TechBot.Library/IrcService.cs
--- trunk/irc/TechBot/TechBot.Library/IrcService.cs 2005-12-14
12:41:38 UTC (rev 20163)
+++ trunk/irc/TechBot/TechBot.Library/IrcService.cs 2005-12-14
17:34:00 UTC (rev 20164)
@@ -16,6 +16,7 @@
private string ntstatusXml;
private string winerrorXml;
private string hresultXml;
+ private string wmXml;
private string svnCommand;
private IrcClient client;
private ArrayList channels = new ArrayList(); /*
IrcChannel */
@@ -31,18 +32,20 @@
string ntstatusXml,
string winerrorXml,
string hresultXml,
+ string wmXml,
string svnCommand)
{
this.hostname = hostname;
this.port = port;
this.channelnames = channelnames;
- this.botname = botname;
- this.chmPath = chmPath;
- this.mainChm = mainChm;
- this.ntstatusXml = ntstatusXml;
- this.winerrorXml = winerrorXml;
- this.hresultXml = hresultXml;
- this.svnCommand = svnCommand;
+ this.botname = botname;
+ this.chmPath = chmPath;
+ this.mainChm = mainChm;
+ this.ntstatusXml = ntstatusXml;
+ this.winerrorXml = winerrorXml;
+ this.hresultXml = hresultXml;
+ this.wmXml = wmXml;
+ this.svnCommand = svnCommand;
}
public void Run()
@@ -53,6 +56,7 @@
ntstatusXml,
winerrorXml,
hresultXml,
+ wmXml,
svnCommand);
service.Run();
_____
Modified: trunk/irc/TechBot/TechBot.Library/TechBot.Library.prjx
--- trunk/irc/TechBot/TechBot.Library/TechBot.Library.prjx
2005-12-14 12:41:38 UTC (rev 20163)
+++ trunk/irc/TechBot/TechBot.Library/TechBot.Library.prjx
2005-12-14 17:34:00 UTC (rev 20164)
@@ -13,6 +13,8 @@
<File name=".\HresultCommand.cs" subtype="Code"
buildaction="Compile" dependson="" data="" />
<File name=".\WinerrorCommand.cs" subtype="Code"
buildaction="Compile" dependson="" data="" />
<File name=".\SvnCommand.cs" subtype="Code"
buildaction="Compile"
dependson="" data="" />
+ <File name=".\WmCommand.cs" subtype="Code"
buildaction="Compile"
dependson="" data="" />
+ <File name=".\MessageContext.cs" subtype="Code"
buildaction="Compile" dependson="" data="" />
</Contents>
<References>
<Reference type="Project" refto="CHMLibrary"
localcopy="True" />
_____
Modified: trunk/irc/TechBot/TechBot.Library/TechBotService.cs
--- trunk/irc/TechBot/TechBot.Library/TechBotService.cs 2005-12-14
12:41:38 UTC (rev 20163)
+++ trunk/irc/TechBot/TechBot.Library/TechBotService.cs 2005-12-14
17:34:00 UTC (rev 20164)
@@ -15,16 +15,18 @@
private string ntstatusXml;
private string winerrorXml;
private string hresultXml;
+ private string wmXml;
private string svnCommand;
private ArrayList commands = new ArrayList();
public TechBotService(IServiceOutput serviceOutput,
string chmPath,
- string mainChm,
- string ntstatusXml,
- string winerrorXml,
- string hresultXml,
- string svnCommand)
+ string mainChm,
+ string ntstatusXml,
+ string winerrorXml,
+ string hresultXml,
+ string wmXml,
+ string svnCommand)
{
this.serviceOutput = serviceOutput;
this.chmPath = chmPath;
@@ -32,6 +34,7 @@
this.ntstatusXml = ntstatusXml;
this.winerrorXml = winerrorXml;
this.hresultXml = hresultXml;
+ this.wmXml = wmXml;
this.svnCommand = svnCommand;
}
@@ -48,6 +51,8 @@
winerrorXml));
commands.Add(new HresultCommand(serviceOutput,
hresultXml));
+ commands.Add(new WmCommand(serviceOutput,
+ wmXml));
commands.Add(new SvnCommand(serviceOutput,
svnCommand));
}
_____
Added: trunk/irc/TechBot/TechBot.Library/WmCommand.cs
--- trunk/irc/TechBot/TechBot.Library/WmCommand.cs 2005-12-14
12:41:38 UTC (rev 20163)
+++ trunk/irc/TechBot/TechBot.Library/WmCommand.cs 2005-12-14
17:34:00 UTC (rev 20164)
@@ -0,0 +1,104 @@
+using System;
+using System.Xml;
+
+namespace TechBot.Library
+{
+ public class WmCommand : BaseCommand, ICommand
+ {
+ private IServiceOutput serviceOutput;
+ private string wmXml;
+ private XmlDocument wmXmlDocument;
+
+ public WmCommand(IServiceOutput serviceOutput,
+ string wmXml)
+ {
+ this.serviceOutput = serviceOutput;
+ this.wmXml = wmXml;
+ wmXmlDocument = new XmlDocument();
+ wmXmlDocument.Load(wmXml);
+ }
+
+ public bool CanHandle(string commandName)
+ {
+ return CanHandle(commandName,
+ new string[] { "wm" });
+ }
+
+ public void Handle(MessageContext context,
+ string commandName,
+ string parameters)
+ {
+ string wmText = parameters;
+ if (wmText.Equals(String.Empty))
+ {
+ serviceOutput.WriteLine(context,
+ "Please provide
a valid window message value or name.");
+ return;
+ }
+
+ NumberParser np = new NumberParser();
+ long wm = np.Parse(wmText);
+ string output;
+ if (np.Error)
+ {
+ // Assume "!wm <name>" form.
+ output = GetWmNumber(wmText);
+ }
+ else
+ {
+ output = GetWmDescription(wm);
+ }
+
+ if (output != null)
+ {
+ serviceOutput.WriteLine(context,
+
String.Format("{0} is {1}.",
+
wmText,
+
output));
+ }
+ else
+ {
+ serviceOutput.WriteLine(context,
+ String.Format("I
don't know about window message {0}.",
+
wmText));
+ }
+ }
+
+ public string Help()
+ {
+ return "!wm <value> or !wm <name>";
+ }
+
+ private string GetWmDescription(long wm)
+ {
+ XmlElement root = wmXmlDocument.DocumentElement;
+ XmlNode node =
root.SelectSingleNode(String.Format("WindowMessage[@value='{0}']",
+
wm));
+ if (node != null)
+ {
+ XmlAttribute text =
node.Attributes["text"];
+ if (text == null)
+ throw new Exception("Node has no
text attribute.");
+ return text.Value;
+ }
+ else
+ return null;
+ }
+
+ private string GetWmNumber(string wmName)
+ {
+ XmlElement root = wmXmlDocument.DocumentElement;
+ XmlNode node =
root.SelectSingleNode(String.Format("WindowMessage[@text='{0}']",
+
wmName));
+ if (node != null)
+ {
+ XmlAttribute value =
node.Attributes["value"];
+ if (value == null)
+ throw new Exception("Node has no
value attribute.");
+ return value.Value;
+ }
+ else
+ return null;
+ }
+ }
+}