making skype portable


Ever wished to execute skype from the usb drive. Here’s how you can do that.

  1. Create skype folder on usb drive.
  2. copy skype.exe to that folder.
  3. create subfolder named data
  4. create a cmd file (save it in skype folder) with the content start %~dp0skype.exe /datapath:”%~dp0data” /removable
  5. run the cmd file and enjoy.

I am not sure if skype.exe adds registry on the local machine or not, will try to find that and update.

Adding file type association using vbScriptvb


fext = "fcz"
prgid = "FCZ File"
des = "FCZ File"
extanm = "c:\Program files\TestApps\AppStart.exe"
Set o = CreateObject("wscript.shell")
o.regwrite "HKCR\." & fext & "\" , prgid , "REG_SZ"
o.regwrite "HKCR\" & prgid & "\" , des , "REG_SZ"
o.regwrite "HKCR\" & prgid & "\DefaultIcon\", extico, "REG_SZ"
o.regwrite "HKCR\" & prgid & "\Shell\","Open"
o.regwrite "HKCR\" & prgid & "\Shell\Open\Command\", extanm & " ""%1""", "REG_SZ"

Playing with Registry using Python.,


def regReadValue( regKey, subKey, name ):
 #print regKey
 aReg = ConnectRegistry(None,regKey)
 aKey = OpenKey(aReg, subKey)
 index = 0
 data = []
 while 1:
  try:
   regName = EnumValue(aKey, index)
   if name == regName[0]:
   data = regName[1:]
   print data
   return data
  except:
   break
  index = index + 1
  return data 

def regRead( regKey, subKey):
 #print regKey
 aReg = ConnectRegistry(None,regKey)
 aKey = OpenKey(aReg, subKey) # r'SOFTWARE\Microsoft\Windows\CurrentVersion\Run')
 index = 0
 data = []
 while 1:
  try:
   print("Enumkey =" + subKey + "\\" + EnumKey(aKey, index))
   data.append( subKey + "\\" + EnumKey(aKey, index))
  except:
   break
  index = index + 1
return data

def regWrite(regKey, subKey, regValue, regData, regType):
 aReg = ConnectRegistry(None,regKey)
 print subKey
 aKey = CreateKey(aReg, subKey) #, 0, KE)
 try:
  SetValueEx(aKey,regValue,0, regType, regData)
 except EnvironmentError:
  print "Encountered problems writing into the Registry..."
 CloseKey(aKey)
 CloseKey(aReg)

def regDelete(regKey, subKey):
 #aReg = ConnectRegistry(none,regKey)
 reg = regRead(regKey, subKey)
 for a in reg:
  regDelete(regKey,a)
  print a
  DeleteKey(regKey, subKey)

Read and Set CheckBoxes in PythonWin using win32…


# A demo of the win32rcparser module and using win32gui

import win32gui
import win32api
import win32con
import win32rcparser
import commctrl
import sys, os
import win32ui

# We use the .rc file in our ‘test’ directory.
try:
__file__
except NameError: # pre 2.3
__file__ = sys.argv[0]

this_dir = os.path.abspath(os.path.dirname(__file__))
g_rcname = os.path.abspath(
os.path.join( this_dir, “prefEditing.RC”))

if not os.path.isfile(g_rcname):
raise RuntimeError, “Can’t locate resource file (should be at ‘%s’)” % (g_rcname,)

class DemoWindow:
def __init__(self, dlg_template):
self.dlg_template = dlg_template

def CreateWindow(self):
self._DoCreate(win32gui.CreateDialogIndirect)

def DoModal(self):
return self._DoCreate(win32gui.DialogBoxIndirect)

def _DoCreate(self, fn):
message_map = {
win32con.WM_INITDIALOG: self.OnInitDialog,
win32con.WM_CLOSE: self.OnClose,
win32con.WM_DESTROY: self.OnDestroy,
win32con.WM_COMMAND: self.OnCommand,
}
return fn(0, self.dlg_template, 0, message_map)

def OnInitDialog(self, hwnd, msg, wparam, lparam):
self.hwnd = hwnd
# centre the dialog
desktop = win32gui.GetDesktopWindow()
l,t,r,b = win32gui.GetWindowRect(self.hwnd)
dt_l, dt_t, dt_r, dt_b = win32gui.GetWindowRect(desktop)
centre_x, centre_y = win32gui.ClientToScreen( desktop, ( (dt_r-dt_l)/2, (dt_b-dt_t)/2) )
win32gui.MoveWindow(hwnd, centre_x-(r/2), centre_y-(b/2), r-l, b-t, 0)

def getCheckBoxValue(self, hwnd, cbid):
## Gets the Value of the CheckBox #
b = win32gui.GetDlgItem(hwnd, cbid)
val = win32gui.SendMessage(hwnd, win32con.BM_GETCHECK, 0, 0) & win32con.BST_CHECKED
return val

def setCheckBoxValue(self, hwnd, cbid, val):
## Gets the Value of the CheckBox #
b = win32gui.GetDlgItem(hwnd, cbid)
win32gui.SendMessage(b,win32con.BM_SETCHECK,val,0)

def OnCommand(self, hwnd, msg, wparam, lparam):
# Needed to make OK/Cancel work – no other controls are handled.
id = win32api.LOWORD(wparam)
if id in [win32con.IDOK, win32con.IDCANCEL]:
win32gui.EndDialog(hwnd, id)
print id
a = win32gui.GetDesktopWindow()
# This returns the hwnd for the control
b = win32gui.GetDlgItem(hwnd, id)
# (“Hello”)
# Changes the Text of control
# # win32gui.SetWindowText(b,”Test”)
#yt = win32gui.DialogBoxParam(hwnd, id)
#print b, yt
#yt = win32gui.GetIconInfo( b)
print “Message :” + str(msg)
#win32gui.GetDlgItem(yt)
#print yt
#win32gui.SendMessage(b, commctrl.CDIS_SELECTED,0,0)
##win32gui.DialogBoxParam()
self.setCheckBoxValue(hwnd, id, 0)
#cb1=a.GetDlgItem(win32ui.IDC_PROMPT1)

def OnClose(self, hwnd, msg, wparam, lparam):
win32gui.EndDialog(hwnd, 0)

def OnDestroy(self, hwnd, msg, wparam, lparam):
pass

def DemoModal():
# Load the .rc file.
resources = win32rcparser.Parse(g_rcname)
for id, ddef in resources.dialogs.items():
print “Displaying dialog”, id
w=DemoWindow(ddef)
w.DoModal()

if __name__==’__main__’:
flags = 0
for flag in “””ICC_DATE_CLASSES ICC_ANIMATE_CLASS ICC_ANIMATE_CLASS
ICC_BAR_CLASSES ICC_COOL_CLASSES ICC_DATE_CLASSES
ICC_HOTKEY_CLASS ICC_INTERNET_CLASSES ICC_LISTVIEW_CLASSES
ICC_PAGESCROLLER_CLASS ICC_PROGRESS_CLASS ICC_TAB_CLASSES
ICC_TREEVIEW_CLASSES ICC_UPDOWN_CLASS ICC_USEREX_CLASSES
ICC_WIN95_CLASSES “””.split():
flags |= getattr(commctrl, flag)
win32gui.InitCommonControlsEx(flags)
# Need to do this go get rich-edit working.
##win32api.LoadLibrary(“riched20.dll”)
DemoModal()

Adding Scrollbars to TCL/TK listbox in python


The listbox itself doesn’t include a scrollbar. Attaching a scrollbar is pretty straightforward. Simply set the xscrollcommand and yscrollcommand options of the listbox to the set method of the corresponding scrollbar, and the command options of the scrollbars to the corresponding xview and yview methods in the listbox. Also remember to pack the scrollbars before the listbox. In the following example, only a vertical scrollbar is used. For more examples, see pattern section in the Scrollbar description.

frame = Frame(master)
scrollbar = Scrollbar(frame, orient=VERTICAL)
listbox = Listbox(frame, yscrollcommand=scrollbar.set)
scrollbar.config(command=listbox.yview)
scrollbar.pack(side=RIGHT, fill=Y)listbox.pack(side=LEFT, fill=BOTH, expand=1)
Copied from http://effbot.org/tkinterbook/listbox.htm for personal use only.
Ok, now how to do this using GUI Builder:

Set the “yscrollcommand” of listbox to scrollbar.set in properties section and command of scrollbar to listbox.yview


			

Another Downloader… batch downloader ….


The script can be used to batch download the files from the internet. say for example the website contain files from 1.zip to 100.zip at

http://www.something.com/zipfiles/ folder. then the download command will be

AnotherDownloader.py http://www.something.com/zipfiles/*.zip 1 100 /home/test/download

the above command will download the files to /home/test/download folder.

AnotherDownloader.pdf