Friday 27 April 2007

vs2k5 shortkeys

Ctrl+M, Ctrl+L Edit ToggleAllOutlining
Ctrl+M, Ctrl+M Edit ToggleOutliningExpansion
Ctrl+M, Ctrl+O Edit CollapsetoDefinitions
Ctrl+M, Ctrl+P Edit StopOutlining
Ctrl+M, Ctrl+U Edit StopHidingCurrent
F12 - Go to symbol definition
Shift-F12 - Show all references to a symbol
F8 - Cycle through list of items in the currently active output window
Shift-F8 - Same as F8 but in the opposite direction
Ctrl-‘-‘ - Move backwards to previous cursor location
Ctrl-Shift-‘-‘ - Move forwards to last cursor location
Ctrl-Shift-8 - Move up the definition navigation stack (stack pop)
Ctrl-Shift-7 - Move down the definition navigation stack (stack push)
Ctrl-I activates incremental search
Ctrl-Shift-I to go to the previous). Pressing Escape will turn off incremental search.
Ctrl-Shift-F - Find in all files (more useful than Ctrl-F)
Ctrl-H - Replace
Ctrl-K, Ctrl-C - Comment out currently selected code
Ctrl-K, Ctrl-U - Uncomment currently selected code
Ctrl-K, Ctrl-F - Auto format selected code
Ctrl-R, Ctrl-M - Extract method
Ctrl-R, Ctrl-E - Encapsulate field
Ctrl-R, Ctrl-I - Extract Interface
F2 - Rename
F10 – Debugging Step over
Ctrl-F10 – Debugging Run to cursor
F11 – Debugging Step into
Shift-F11 – Debugging Step out
F9 – Debugging Toggle a breakpoint
F5 – Debugging Run with debugging
Shift-F5 – Stop debugging
Control-F5 – Run without debugging

Wednesday 18 April 2007

Outlook Unblock attachments

Open regedit, find the following registry key for your version of Outlook. You may need to create it.
Microsoft Outlook 2000:
HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Security
Microsoft Outlook 2002:
HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Security
Microsoft Office Outlook 2003:
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Security

If the the stringvalue named Level1Remove doesnt exist create it
add the extensions you want exposed to this, ie .exe;.???
Quit regedit and restart pc

outlook - disable removing pictures

tools->options->security->Change Automatic Download Settings->Dont download pictures or other content.....<---uncheck this!

Thursday 12 April 2007

Outputting executable path after build

Small Tip: If you want to print the absolute path to your executable after its built to visual studios Output window then add: echo $(TargetPath) to 'Post-Build Event->Command Line' property.

other macros + definitions:

$(ConfigurationName)
The name of the current project configuration, for example, "Debug|Any CPU".

$(OutDir)
Path to the output file directory, relative to the project directory. This resolves to the value for the Output Directory property. It includes the trailing backslash '\'.

$(DevEnvDir)
The installation directory of Visual Studio 2005 (defined with drive and path); includes the trailing backslash '\'.

$(PlatformName)
The name of the currently targeted platform. For example, "AnyCPU".

$(ProjectDir)
The directory of the project (defined with drive and path); includes the trailing backslash '\'.

$(ProjectPath)
The absolute path name of the project (defined with drive, path, base name, and file extension).

$(ProjectName)
The base name of the project.

$(ProjectFileName)
The file name of the project (defined with base name and file extension).

$(ProjectExt)
The file extension of the project. It includes the '.' before the file extension.

$(SolutionDir)
The directory of the solution (defined with drive and path); includes the trailing backslash '\'.

$(SolutionPath)
The absolute path name of the solution (defined with drive, path, base name, and file extension).

$(SolutionName)
The base name of the solution.

$(SolutionFileName)
The file name of the solution (defined with base name and file extension).

$(SolutionExt)
The file extension of the solution. It includes the '.' before the file extension.

$(TargetDir)
The directory of the primary output file for the build (defined with drive and path). It includes the trailing backslash '\'.

$(TargetPath)
The absolute path name of the primary output file for the build (defined with drive, path, base name, and file extension).

$(TargetName)
The base name of the primary output file for the build.

$(TargetFileName)
The file name of the primary output file for the build (defined as base name and file extension).

$(TargetExt)
The file extension of the primary output file for the build. It includes the '.' before the file extension.

get ip from mac address

this post is lifted from:
http://www.windowsitpro.com/Articles/ArticleID/14462/14462.html?Ad=1

A. A. An easy way to get a list of MAC to IP addresses on the local subnet is to ping every host on the subnet and then check you ARP cache, however pinging every individual node would take ages and the entries only stay in the ARP cache for 2 minutes. An alternative is to ping the broadcast mask of your subnet which will ping every host on the local subnet (you can't ping the entire network as you only communicate directly with nodes on the same subnet, all other requests are via the gateway so you would just get a ARP entry for the gateway).
What is the broadcast mask? The broadcast mask is easy to calculate if the subnet mask is in the format 255.255.255.0 or 255.255.0.0 etc. (multiples of 8 bits). For example if the IP address was 134.189.23.42 and the subnet mask was 255.255.0.0 the broadcast mask would be 134.189.255.255, where 255 is in the subnet mask the number from the IP address is copied over, where 0 it is replaced with 255, basically the network id part is kept. If the subnet mask is not the basic 255.255 format, you should use the following, all you need is the IP address and the subnet mask
For each bit set to 1 in the subnet mask, copy the corresponding but from the IP address to the broadcast mask
For each bit set to 0 in the subnet mask, copy a 1 into the corresponding bit of the broadcast mask
for example, IP address 158.234.24.98 and subnet mask 255.255.248.0



































































Network

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0
1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0


Byte 1



Byte 2



Byte 3



Byte 4
































































Host

1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 1 1 0 0 0 1 0
0 0 1 1 1 1 1 1 1 1 1 1 1 1 1


Byte 3



Byte 4


The first row is the subnet mask 255.255.248.0, the second row the IP address 158.234.24.98 and the third row is the broadcast mask, 158.234.31.255.
To get the MAC to IP addresses, you would therefore perform the following
ping arp -a
Voila, a list of IP addresses and their MAC address (you can add > filename to get the list to a file, e.g. arp -a > iptomac.lst). You could repeat this exercise on the various subnets of your organization.
Unfortunatly due to limitations in NT's implementation of PING the above will not work correctly so put the following into a file
REM arpping.batping -n 1 -l 1 %1.%2arp -a %1.%2
You can then call the batch file as follows:
C:\> for /l %i in (1,1,254) do arpping 160.82.220 %i
In this case it would generate a list of all MAC to IP addresses for 160.82.220.1 to 160.82.220.254. Again you could put this all in a file, redirect to a file and then search, e.g.
REM test.batfor /l %%i in (1,1,254) do arpping.bat 160.82.220 %%i
Notice you have to use two %%. You could run as
C:\> test.bat > file.txt
Then search listing.txt for (example) dynamic
C:\> findstr dynamic file.txt160.82.220.1 00-00-0c-60-8b-41 dynamic160.82.220.9 00-60-97-4b-bf-4c dynamic160.82.220.13 00-10-4b-49-94-e1 dynamic160.82.220.17 00-80-5f-d8-a4-8b dynamic160.82.220.22 00-a0-d1-02-a4-cf dynamic160.82.220.25 00-60-08-75-0d-7a dynamic160.82.220.26 00-10-4b-44-e4-73 dynamic160.82.220.33 00-10-4b-44-d6-33 dynamic160.82.220.34 00-10-4b-4e-67-6a dynamic160.82.220.35 00-60-97-4b-c4-53 dynamic160.82.220.39 00-10-4b-44-eb-ae dynamic160.82.220.41 00-10-4b-49-7b-f7 dynamic160.82.220.42 00-00-f8-21-7a-7f dynamic160.82.220.43 08-00-20-88-82-57 dynamic160.82.220.221 00-80-5f-88-d0-55 dynamic
You can consolidate the last couple of steps so you just create arpping.bat as before then just issue command:
C:\>for /l %i in (1,1,254) do arpping.bat 10.129.210 %i findstr dynamicC:\>arpping.bat 10.129.210 1 findstr dynamic10.129.210.1 00-08-c7-d3-24-f5 dynamicC:\>arpping.bat 10.129.210 2 findstr dynamic10.129.210.2 00-08-c7-df-81-60 dynamicC:\>arpping.bat 10.129.210 3 findstr dynamic10.129.210.3 00-80-5f-9b-ea-93 dynamicC:\>arpping.bat 10.129.210 4 findstr dynamic10.129.210.4 00-80-5f-9b-36-ea dynamicC:\>arpping.bat 10.129.210 5 findstr dynamic10.129.210.5 00-04-ac-37-78-92 dynamicC:\>arpping.bat 10.129.210 6 findstr dynamic
Notice we only use one % as we are not in a batch file and it automatically only lists found entires or you can use a combination of the different methods to match your exact needs.