Tuesday 27 November 2007

Add item to explorer's new menu

Open up the registry and look at the HKEY_CLASSES_ROOT, all the information about the default file types and mappings are stored here. You will need to add two entries to the root of this folder. Right click on the HKEY_CLASSES_ROOT folder and select New Key. Create a key with the same name as your file extension, for our example we will use .ken as our extension.
Set the default value to the name of your application, for example we will user KenEdit.
Now create a second key in the root of HKEY_CLASSES_ROOT called the same name as your application we will use KenEdit again. NOTE These two names must match.
Create a key named shell under the program name entry.
Create a key named open under the shell key entry.
Create a key named command under the open key entry.
Set the default value for the command key to the name of the application that will edit the files, we will use WordPad for our demonstration so enter the full path to the WordPad program.
Now you should be able to double click on files with a .ken extension in explorer and have it open up the file in WordPad. So now on to adding the KenEdit application to the New menu:

Create a dummy/empty file with the application that will create the new file types, for our example open up wordpad and type Ken as some text.
Then Save the file to a directory called ShellNew under your windows directory as KenEdit.ken, you can call the file whatever you want but by convention we use the programs name and the correct file extension.
Now go back to the registry and under the key for the file extension we created earlier called .ken create a new key called ShellNew.
Under the ShellNew key create a string called FileName and set the value of the FileName to be the name of the empty file we created in step 2 KenEdit.ken.
This is all you need to make the process work but to make things look a little slicker goto the KenEdit key we created in the root folder and set the default value for this key to be a nice name for your application we will user Kens Editor File.

Friday 5 October 2007

no mouse acceleration in paintshop or maya

uncheck start->settings->control panel->mouse->motion->'disable acceleration in games'

Tuesday 2 October 2007

Function keys stopped working

Check to see if your keyboard has an F-Lock key. It's usually in the upper left or upper right area of the keyboard in the general area of the Function keys. Press it once, then try using the Function keys again.

http://jtsang.mvps.org/flock.html

Monday 1 October 2007

Excel documents in seperate Excel windows

Tools|options|General tab|Ignore other applications (check it)

Thursday 16 August 2007

change keyboard scancode reg hack XP

http://www.goatpunch.com/interflow?Remapping+Windows+Xp+Keyboard+Scancodes

keyboard locale - winXP

start->settings->control panel->regional and language options->languages tab->details button->settings tab, change to uk/remove us

Friday 6 July 2007

linux lesson2

.on linux, -p is profiling, -g is debugging, -pg is for profiling with gprog
.conio.h is windows only, a gcc equivalent is ncurses.h
.gcc compiler comes with most(all?) distros of linux
.system info is held in /etc/conf.d
.alt f4 closes a program (as youd expect)
.ipconfig -> ifconfig - for help use 'man ifconfig'
.use ifconfig etc0 inet 192.168.0.? to set your ip
.list of terminal commands
http://www.linuxdevcenter.com/linux/cmd/
http://www.ss64.com/bash/
http://www.digilife.be/quickreferences/quickrefs.htm
.linux also has the netstat command displaying open ports.
.use ls -l to list shares

Tuesday 3 July 2007

SSL

SSL stands for secure sockets layer, its a method of creating an encrypted network connection, although vulnerable to man in the middle attack. OpenSSL is an open source SSL lib, you can get find more here http://www.openssl.org/. +7000 is the default ssl port to connect to an IRC server, the irc command for connecting to a server '/server servername portnumner'

Saturday 30 June 2007

visual studio 2005 remote debug with no authentication

1. on the remote pc share a dir
2. in post build event copy the exe to that dir
3. share out C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x86
4. on remote pc run msvsmon from that share
5. open tools->options, set no authentication, allow any user to debug
6. in your project properties goto debugging
7. set debugger to launch to remote windows debugger
8. set remote command to the exe how the remote pc sees it
9. set working directory
10. set remote server name as the remote pc's name
11. set connection type to remote with no authentication
12. press F5 the exe should launch and debugger will start

Tuesday 22 May 2007

LIB /IGNORE

http://members.ozemail.com.au/~geoffch@ozemail.com.au/samples/programming/msvc/link/lib/options/ignore.htm

Thursday 10 May 2007

turn off windows update

start->settings->control panel->system->Automatic Updates Tab->Turn Off Automatic Updates

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.

Wednesday 21 March 2007

IE7 Address Bar and File Menu

to get menu bar back : click on the the Tools menu and select "Menu Bar" from the options there.

Relocate the menu bar in IE7 to the top of the window:
you may need to create this key in regedit instead.
Copy the bold text below into a text file (between the lines)
-----------------------------------------------------------
REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\WebBrowser\] "ITBar7Position"=dword:00000001
-----------------------------------------------------------
2) Save the text file with a REG extension (like toolbar.reg)
3) Double click the file and allow it to update your registry
4) Shut down IE7 (if open) and restart it.

Sunday 18 March 2007

Disable windows logon prompt

start->run then execute
control userpasswords2
select the user then uncheck the box 'users must enter a user name and password to use this computer'

Sunday 18 February 2007

Crashy Explorer on avi files

To stop explorer crashing sometimes when you select an avi/media file you could disable media previewing.
Open a command prompt, type:
regsvr32 /u shmedia.dll
to reenable media previewing:
regsvr32 shmedia.dll

.ncb

Visual Studio uses ncb files to cache various workspace data, it is autogenerated. Sometimes the ncb becomes corrupt, causing delays when moving the cursor or typing text, or intelisence may not work. To fix this just delete the ncb file and reopen your solution.

Wednesday 31 January 2007

Alienbrain link/mirror files

select the files to copy,
press and hold CTRL
press and hold SHIFT
use left mouse to drag the selected files to a destination folder.
A little rounded arrow should appear on the bottom left corner of the new files.

Tuesday 30 January 2007

slow VS2k5

vs2005 SP1 fixes the painfully long debugger start times, and delay opening a file.

Wednesday 24 January 2007

vs2005 shortkey to open files

a quick way to view all the open files in vis is to press and hold CTRL key + TAB, you can then navigate the window using arrow keys, mouse, or by holding CTRL and retriggering TAB.

Wednesday 17 January 2007

VC2005 jump to file in solution explorer

by default this usefull feature is now off in vs2005, to enable it goto Tools->Options->Projects and Solutions check "Track Active Item in Solution Explorer"

swing cartoon

http://www.jacobsen.no/anders/blog/archives/2004/05/17/the_tire_swing_cartoon.html