author | Oleksandr Gavenko <gavenkoa@gmail.com> |
Thu, 27 Jun 2013 23:01:44 +0300 | |
changeset 1506 | 2e9315ecb38a |
parent 884 | b94da2c4bee1 |
permissions | -rw-r--r-- |
155
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
1 |
-*- mode: outline -*- |
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
2 |
|
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
3 |
* Dependency Walker. |
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
4 |
|
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
5 |
Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows |
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
6 |
module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of |
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
7 |
all dependent modules. For each module found, it lists all the functions that |
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
8 |
are exported by that module, and which of those functions are actually being |
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
9 |
called by other modules. Another view displays the minimum set of required |
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
10 |
files, along with detailed information about each file including a full path |
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
11 |
to the file, base address, version numbers, machine type, debug information, |
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
12 |
and more. |
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
13 |
|
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
14 |
See |
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
15 |
|
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
16 |
http://www.dependencywalker.com/ |
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
17 |
|
452
974dadf565a7
Windows 2000 Resource Kit Tools.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
435
diff
changeset
|
18 |
* Windows 2000 Resource Kit Tools. |
974dadf565a7
Windows 2000 Resource Kit Tools.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
435
diff
changeset
|
19 |
|
974dadf565a7
Windows 2000 Resource Kit Tools.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
435
diff
changeset
|
20 |
http://support.microsoft.com/kb/927229 |
974dadf565a7
Windows 2000 Resource Kit Tools.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
435
diff
changeset
|
21 |
Windows 2000 Resource Kit Tools for administrative tasks |
974dadf565a7
Windows 2000 Resource Kit Tools.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
435
diff
changeset
|
22 |
|
155
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
23 |
* Sysinternals. |
e475cd4f789a
Merged with conversion from CR/LF to LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
143
diff
changeset
|
24 |
|
189
a433d6009641
Move info from windows-devel.txt to process-managment.txt and stat.txt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
155
diff
changeset
|
25 |
TODO |
288 | 26 |
|
617
fe3e777b47f3
Application verifier.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
487
diff
changeset
|
27 |
* Application verifier. |
fe3e777b47f3
Application verifier.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
487
diff
changeset
|
28 |
|
fe3e777b47f3
Application verifier.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
487
diff
changeset
|
29 |
http://www.microsoft.com/downloads/en/details.aspx?familyid=c4a25ab9-649d-4a1b-b4a7-c9d8b095df18 |
fe3e777b47f3
Application verifier.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
487
diff
changeset
|
30 |
download page |
fe3e777b47f3
Application verifier.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
487
diff
changeset
|
31 |
http://msdn.microsoft.com/en-us/library/ms220948.aspx |
fe3e777b47f3
Application verifier.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
487
diff
changeset
|
32 |
Application Verifier |
fe3e777b47f3
Application verifier.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
487
diff
changeset
|
33 |
|
855
928d26058a00
Break on dll load/unload.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
754
diff
changeset
|
34 |
* Debugging with windbg. |
686 | 35 |
|
36 |
http://www.microsoft.com/whdc/devtools/debugging/default.mspx |
|
37 |
Download and Install Debugging Tools for Windows |
|
38 |
http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx |
|
39 |
Debugging Tools for Windows 32-bit Version |
|
40 |
download page |
|
41 |
http://www.microsoft.com/whdc/devtools/debugging/install64bit.mspx |
|
42 |
Debugging Tools for Windows 64-bit Version |
|
43 |
download page |
|
44 |
||
855
928d26058a00
Break on dll load/unload.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
754
diff
changeset
|
45 |
** Break on dll load/unload. |
928d26058a00
Break on dll load/unload.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
754
diff
changeset
|
46 |
|
928d26058a00
Break on dll load/unload.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
754
diff
changeset
|
47 |
sxe ld <module> |
928d26058a00
Break on dll load/unload.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
754
diff
changeset
|
48 |
sxe ud <module> |
928d26058a00
Break on dll load/unload.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
754
diff
changeset
|
49 |
|
856
4f14f6abbf77
Set breakpoint by pattern and/or on specific module.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
855
diff
changeset
|
50 |
** Set breakpoint by pattern and/or on specific module. |
4f14f6abbf77
Set breakpoint by pattern and/or on specific module.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
855
diff
changeset
|
51 |
|
4f14f6abbf77
Set breakpoint by pattern and/or on specific module.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
855
diff
changeset
|
52 |
bm <module>!<name> # set breakpoints on 'module' with name 'name' |
4f14f6abbf77
Set breakpoint by pattern and/or on specific module.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
855
diff
changeset
|
53 |
bm *!<prefix>* # set breakpoints on all names with prefix 'prefix' |
4f14f6abbf77
Set breakpoint by pattern and/or on specific module.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
855
diff
changeset
|
54 |
bm <module>!* # set breakpoints on all names in module 'module' |
4f14f6abbf77
Set breakpoint by pattern and/or on specific module.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
855
diff
changeset
|
55 |
|
857
97fa4a9e7ed7
software breakpoints
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
856
diff
changeset
|
56 |
'bp', 'bm' commands sets software breakpoints, debugger replaces the processor instruction with a |
97fa4a9e7ed7
software breakpoints
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
856
diff
changeset
|
57 |
break instruction. |
97fa4a9e7ed7
software breakpoints
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
856
diff
changeset
|
58 |
|
884 | 59 |
** Clear breakpoints. |
60 |
||
61 |
bc * |
|
62 |
||
865
5f57d2ac7be0
How to set WinDbg as a Default Windows Postmortem Debugger.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
857
diff
changeset
|
63 |
** How to set WinDbg as a Default Windows Postmortem Debugger. |
5f57d2ac7be0
How to set WinDbg as a Default Windows Postmortem Debugger.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
857
diff
changeset
|
64 |
|
5f57d2ac7be0
How to set WinDbg as a Default Windows Postmortem Debugger.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
857
diff
changeset
|
65 |
cmd> WinDbg -I |
5f57d2ac7be0
How to set WinDbg as a Default Windows Postmortem Debugger.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
857
diff
changeset
|
66 |
|
5f57d2ac7be0
How to set WinDbg as a Default Windows Postmortem Debugger.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
857
diff
changeset
|
67 |
** How analyse crash. |
5f57d2ac7be0
How to set WinDbg as a Default Windows Postmortem Debugger.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
857
diff
changeset
|
68 |
|
5f57d2ac7be0
How to set WinDbg as a Default Windows Postmortem Debugger.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
857
diff
changeset
|
69 |
When program crash and use enter in WinDbg execute: |
5f57d2ac7be0
How to set WinDbg as a Default Windows Postmortem Debugger.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
857
diff
changeset
|
70 |
|
5f57d2ac7be0
How to set WinDbg as a Default Windows Postmortem Debugger.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
857
diff
changeset
|
71 |
!analyze -v |
5f57d2ac7be0
How to set WinDbg as a Default Windows Postmortem Debugger.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
857
diff
changeset
|
72 |
|
879
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
73 |
** Adding symbols from Symbol Server. |
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
74 |
|
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
75 |
Execute in WinDbg: |
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
76 |
|
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
77 |
.sympath SRV*D:\srv\symcache*http://msdl.microsoft.com/download/symbols |
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
78 |
|
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
79 |
or Ctrl+S and add: |
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
80 |
|
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
81 |
SRV*D:\srv\symcache*http://msdl.microsoft.com/download/symbols |
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
82 |
|
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
83 |
http://support.microsoft.com/kb/311503 |
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
84 |
Use the Microsoft Symbol Server to obtain debug symbol files |
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
85 |
|
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
86 |
** Using the SymChk.exe utility to download symbols. |
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
87 |
|
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
88 |
symchk /r c:\windows\system32 /s SRV*c:\symbols\*http://msdl.microsoft.com/download/symbols |
77619a223f34
Adding symbols from Symbol Server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
865
diff
changeset
|
89 |
|
883
311ec6df3662
Debugging child process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
879
diff
changeset
|
90 |
** Debugging child process. |
311ec6df3662
Debugging child process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
879
diff
changeset
|
91 |
|
311ec6df3662
Debugging child process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
879
diff
changeset
|
92 |
.childdbg 1 |
311ec6df3662
Debugging child process.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
879
diff
changeset
|
93 |
|
288 | 94 |
* Running at startup. |
95 |
||
96 |
HKCU\Software\Microsoft\Windows\CurrentVersion\Run |
|
97 |
Launches a program automatically when a particular user logs |
|
98 |
in. This key is used when you always want to launch a program |
|
99 |
when a particular user is using a system. |
|
100 |
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce |
|
101 |
Launches a program the next time the user logs in and removes |
|
102 |
its value entry from the registry. This key is typically used |
|
103 |
by installation programs. |
|
104 |
HKLM\Software\Microsoft\Windows\CurrentVersion\Run |
|
105 |
Launches a program automatically at system startup. This key |
|
106 |
is used when you always want to launch a program on a |
|
107 |
particular system. |
|
108 |
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce |
|
109 |
Launches a program the next time the system starts and removes |
|
110 |
its value entry from the registry. This key is typically used |
|
111 |
by installation programs. |
|
112 |
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices |
|
113 |
Launches a service (a standard NT service or a background |
|
114 |
process) automatically at startup. An example of a service is |
|
115 |
a Web server such as Microsoft Internet Information Server. |
|
116 |
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce |
|
117 |
Launches a service (a standard NT service or a background |
|
118 |
process) the next time the system is started, then removes its |
|
119 |
value entry from the registry. |
|
120 |
||
121 |
Values to registry on Windows XP can be added by: |
|
122 |
||
123 |
cmd> reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v run.bat /t REG_SZ /d "path\to\run.bat" |
|
124 |
cmd> reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run <-- see what done |
|
338
e70d9e6f07f6
Can I link to MFC statically.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
288
diff
changeset
|
125 |
|
e70d9e6f07f6
Can I link to MFC statically.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
288
diff
changeset
|
126 |
* MFC. |
e70d9e6f07f6
Can I link to MFC statically.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
288
diff
changeset
|
127 |
|
e70d9e6f07f6
Can I link to MFC statically.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
288
diff
changeset
|
128 |
** Can I link to MFC statically. |
e70d9e6f07f6
Can I link to MFC statically.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
288
diff
changeset
|
129 |
|
e70d9e6f07f6
Can I link to MFC statically.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
288
diff
changeset
|
130 |
Yes. |
e70d9e6f07f6
Can I link to MFC statically.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
288
diff
changeset
|
131 |
|
e70d9e6f07f6
Can I link to MFC statically.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
288
diff
changeset
|
132 |
http://msdn.microsoft.com/en-us/library/f22wcbea%28VS.80%29.aspx |
343
64bf32279008
Microsoft Visual C++ Redistributable Package.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
338
diff
changeset
|
133 |
|
64bf32279008
Microsoft Visual C++ Redistributable Package.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
338
diff
changeset
|
134 |
* Microsoft Visual C++ Redistributable Package. |
64bf32279008
Microsoft Visual C++ Redistributable Package.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
338
diff
changeset
|
135 |
|
64bf32279008
Microsoft Visual C++ Redistributable Package.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
338
diff
changeset
|
136 |
http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displayLang=en |
64bf32279008
Microsoft Visual C++ Redistributable Package.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
338
diff
changeset
|
137 |
This package installs runtime components of C Runtime (CRT), |
64bf32279008
Microsoft Visual C++ Redistributable Package.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
338
diff
changeset
|
138 |
Standard C++, ATL, MFC, OpenMP and MSDIA libraries. |
426 | 139 |
|
140 |
* Cabinet file (.cab). |
|
141 |
||
754
1fed660348c4
Extract content from .cab file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
686
diff
changeset
|
142 |
Extract content from .cab file: |
1fed660348c4
Extract content from .cab file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
686
diff
changeset
|
143 |
|
1fed660348c4
Extract content from .cab file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
686
diff
changeset
|
144 |
cmd# expand my.cab |
1fed660348c4
Extract content from .cab file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
686
diff
changeset
|
145 |
|
426 | 146 |
http://support.microsoft.com/kb/198038 |
147 |
INFO: Useful Tools for Package and Deployment Issues |
|
148 |
http://msdn.microsoft.com/en-us/library/aa367841%28VS.85%29.aspx |
|
149 |
The Makecab.exe utility is included in the Windows SDK |
|
150 |
Components for Windows Installer Developers. |
|
151 |
http://web.archive.org/web/20070403215326/http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/cabsdk.exe |
|
152 |
download link from web archive |
|
153 |
http://msdn.microsoft.com/en-us/library/aa370834%28v=VS.85%29.aspx |
|
154 |
The components of the Windows Installer Software Development |
|
155 |
Kit are included in the Microsoft Windows Software Development |
|
156 |
Kit (SDK). |
|
157 |
http://msdn.microsoft.com/en-us/library/bb417343.aspx |
|
158 |
Microsoft Cabinet Format |
|
159 |
||
435
9e0e5abccbe2
Debugging in Internet Explorer.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
426
diff
changeset
|
160 |
* Internet Explorer. |
9e0e5abccbe2
Debugging in Internet Explorer.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
426
diff
changeset
|
161 |
|
9e0e5abccbe2
Debugging in Internet Explorer.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
426
diff
changeset
|
162 |
** Debugging. |
9e0e5abccbe2
Debugging in Internet Explorer.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
426
diff
changeset
|
163 |
|
9e0e5abccbe2
Debugging in Internet Explorer.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
426
diff
changeset
|
164 |
Install IE 8.0 and press 'F12' key. |
9e0e5abccbe2
Debugging in Internet Explorer.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
426
diff
changeset
|
165 |
|
9e0e5abccbe2
Debugging in Internet Explorer.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
426
diff
changeset
|
166 |
http://msdn.microsoft.com/library/dd565626.aspx |
9e0e5abccbe2
Debugging in Internet Explorer.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
426
diff
changeset
|
167 |
Developer Tools User Interface Reference |
464
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
168 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
169 |
* Microsoft technologies. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
170 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
171 |
** COM. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
172 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
173 |
The family of COM technologies includes COM+, Distributed COM (DCOM) and ActiveX® Controls. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
174 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
175 |
http://www.microsoft.com/com/default.mspx |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
176 |
home page |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
177 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
178 |
** OLE. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
179 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
180 |
OLE (Object Linking and Embedding) allows embedding and linking to documents and other objects. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
181 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
182 |
OLE 1.0 released in 1990, OLE 2.0 released in 1993, in 1994 OLE custom controls (OCXs) were |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
183 |
introduced. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
184 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
185 |
OLE objects and containers are implemented on top of the Component Object Model. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
186 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
187 |
Next release after 2.0 introdused in 1996 and named as ActiveX. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
188 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
189 |
http://en.wikipedia.org/wiki/Object_Linking_and_Embedding |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
190 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
191 |
** ActiveX. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
192 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
193 |
Faced with the complexity of OLE 2.0 and with poor support for COM in MFC, Microsoft rationalized |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
194 |
the specifications to make them simpler, and rebranded the technology as ActiveX in 1996. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
195 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
196 |
http://msdn.microsoft.com/en-us/library/aa751968.aspx |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
197 |
ActiveX Controls |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
198 |
http://en.wikipedia.org/wiki/ActiveX |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
199 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
200 |
** ATL. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
201 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
202 |
The Active Template Library (ATL) is a set of template-based C++ classes developed by Microsoft, |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
203 |
intended to simplify the programming of Component Object Model (COM) objects. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
204 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
205 |
http://en.wikipedia.org/wiki/Active_Template_Library |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
206 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
207 |
** MFC. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
208 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
209 |
MFC (Microsoft Foundation Classes) is a library that wraps portions of the Windows API in C++ |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
210 |
classes, including functionality that enables them to use a default application framework. Classes |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
211 |
are defined for many of the handle-managed Windows objects and also for predefined windows and |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
212 |
common controls. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
213 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
214 |
A lightweight alternative to MFC is the Windows Template Library (WTL). |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
215 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
216 |
http://en.wikipedia.org/wiki/Microsoft_Foundation_Class_Library |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
217 |
http://ru.wikipedia.org/wiki/Microsoft_Foundation_Classes |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
218 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
219 |
** WTL. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
220 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
221 |
WTL (Windows Template Library) is a free software, object-oriented C++ template library for Win32 |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
222 |
development. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
223 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
224 |
WTL provides support for implementing various user interface elements, to MDI, standard and common |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
225 |
controls, common dialogs, property sheets and pages, GDI objects, and other common UI elements, such |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
226 |
as scrollable windows, splitter windows, toolbars and command bars. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
227 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
228 |
Most of the WTL API is a mirror of the standard Win32 calls. |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
229 |
|
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
230 |
http://sourceforge.net/projects/wtl |
0e50011d7d21
Microsoft technologies.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
452
diff
changeset
|
231 |
http://en.wikipedia.org/wiki/Windows_Template_Library |
487
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
232 |
|
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
233 |
* Windows style variable names. |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
234 |
|
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
235 |
Prefix | Data type |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
236 |
---------+----------------------------------------- |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
237 |
b | boolean |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
238 |
by | byte or unsigned char |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
239 |
c | char |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
240 |
cx / cy | short used as size |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
241 |
dw | DWORD, double word or unsigned long |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
242 |
fn | function |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
243 |
h | handle |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
244 |
i | int (integer) |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
245 |
l | Long |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
246 |
n | short int |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
247 |
p | a pointer variable containing the address of a variable |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
248 |
s | string |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
249 |
sz | ASCIIZ null-terminated string |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
250 |
w | WORD unsigned int |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
251 |
x, y | short used as coordinates |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
252 |
|
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
253 |
PrefixCategory | Mean |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
254 |
----------------+---------------- |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
255 |
CS | Class style |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
256 |
CW | Create window |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
257 |
DT | Draw text |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
258 |
IDC | Cursor ID |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
259 |
IDI | Icon ID |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
260 |
WM | Window message |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
261 |
WS | Window style |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
262 |
|
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
263 |
Data type | Meaning |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
264 |
----------+------------------------------------------------------------------- |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
265 |
FAR | Same as far. Identifies an address that originally used the |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
266 |
| segment:offset addressing schema. Now FAR simply identifies a |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
267 |
| (default) 32-bit address but may be omitted entirely in many cases. |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
268 |
| |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
269 |
PASCAL | Same as Pascal. The Pascal convention demanded by Windows |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
270 |
| defines the order in which arguments are found in the stack when |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
271 |
| passed as calling parameters. |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
272 |
| |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
273 |
WORD | Unsigned integer (16 bits) |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
274 |
| |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
275 |
UINT | Unsigned integer, same as WORD |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
276 |
| |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
277 |
DWORD | Double word, unsigned long int (32 bits) |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
278 |
| |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
279 |
LONG | Signed long integer (32 bits) |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
280 |
| |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
281 |
LPSTR | Long (far) pointer to character string |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
282 |
| |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
283 |
NEAR | Obsolete, previously identified an address value within a 16KB |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
284 |
| memory block. |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
285 |
|
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
286 |
http://www.tenouk.com/cnotation.html |
eb598e0a7bae
Windows style variable names.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
464
diff
changeset
|
287 |
C/C++ NOTATION STORY |