File Renaming

If you ever need to rename a large number of files, for instance you have finally decided to organize your digital photos, check out Bulk Rename Utility - Downloads.

This program seems complex at first, but that is simply because it can do almost any sort of bulk renaming you can imagine. As a computer geek, I know I could write this program. Lucky for me, I don't have to as it has already been written.

Network Mapping made easy

While trying to map my local network, I was pointed to this program:

Network management, network discovery, SNMP, MIB and WMI browsers, NetBIOS and port scanner

Seems to work very well and the price is very right.

Webcam Software

I like the looks of this program: TinCam WebCam Software

I guess I will have to try it out.

Recording LP Albums

The Recording LP Albums On Your Computer - Tutorials might be very useful if I ever get around to helping my father convert his many LPs to digital recordings.

CDOSYS.dll missing

| 1 Comment

As I worked to convert the c# info in my post about saving a web page as an mht file, I ran into a problem with the reference to cdosys.dll.

A little research brought me to this page:

318823 - CDO for Windows 2000 Library Reference Is Unavailable in Visual Basic Project

There I learned:

If you try to create or modify a project that references the Microsoft Collaboration Data Objects for Windows 2000 (CDOSYS) Library, the reference is not available. The reference for the Microsoft Collaboration Data Objects (CDO) for Exchange 2000 Library is present instead.

So the quest continues.

Saveas MTH file


I want to download and programatically save web pages as mht files. I was having a hard time until I went to IE SaveAS MHTML in C#, where I found the following code:

Make a reference to these two COM objects:
C:\Program Files\Common Files\System\ado\msado15.dll

I don't think neither of these have PIAs (Primary Interop Assembly) so this will generate two typelibs for your project.

The Source:

CDO.MessageClass message = new CDO.MessageClass();
message.CreateMHTMLBody("", CDO.CdoMHTMLFlags.cdoSuppressNone, "", "");

ADODB.Stream stream = message.GetStream();
stream.SaveToFile("fanms.mht", ADODB.SaveOptionsEnum.adSaveCreateOverWrite);

Now I just have to change it to VB.

Update: Here is my version of this code in VB:

Dim message As New CDO.MessageClass()
message.CreateMHTMLBody("", CDO.CdoMHTMLFlags.cdoSuppressNone, "", "")

Dim Outstream As ADODB.Stream
Outstream = message.GetStream
Outstream.SaveToFile("c:\test.mht", ADODB.SaveOptionsEnum.adSaveCreateOverWrite)

Very Useful Moveable Type Plug-in

I used the plugin that I found at Movable Type Plugins: Supplemental Calendar Tags plugin documentation to add a 3 month calendar to my index page.

TreeNode Level

If you spend any time working with Treeviews, I can't imagine not needing this or having to invent it yourself:

Windows Forms FAQ - Windows Forms TreeView


Public Sub NodateLevel(ByVal node as TreeNode) As Integer

Dim level as Integer = 0

While Not node Is Nothing

node = node.Parent

level = level 1

End While

End Sub

I edited into this:

Private Function NodeLevel(ByVal node As TreeNode) As Integer
Dim level As Integer = 0
While Not node Is Nothing
node = node.Parent
level = level + 1
End While
End Function

Hide Datagrid Expanders

| 1 Comment

In the program I am developing, I wanted to show data from a table in a datagrid. This table is related to another table. As a result, this datagrid would show an expander and the name of that other table. I wanted this hidden. So I asked myself, "How do I hide the expander?" I didn't know so I searched and found the following:

Microsoft Support WebCasts

One DataGrid is designated to be the master grid and the second is designated to be the details grid. When you select an entry in the master list, all of the related child entries are shown in the details list. As you can see, there are no expanders shown on the master DataGrid. This is done by setting the AllowNavigation property of the DataGrid controls to false.

So there you have it set AllowNavigation to False. If you happen to find this useful, please link to this post as there is nothing that says to do this to hide them. I think this would be very helpful to others.

Version Number

I used information from Versioning an Assembly to be able to control the version numbers of my current project.


imports system
imports system.reflection
Imports System.Runtime.InteropServices

<Assembly: AssemblyTitle("")>

<Assembly: AssemblyDescription("")>

<Assembly: AssemblyCompany("")>

<Assembly: AssemblyProduct("")>

<Assembly: AssemblyCopyright("")>

<Assembly: AssemblyTrademark("")>

<Assembly: CLSCompliant(True)>

'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("41BD3203-06FC-4FF4-8A74-3C842C207D49")>

' Version information for an assembly consists of the following four values:
' Major Version
' Minor Version
' Build Number
' Revision
' You can specify all the values or you can default the Build and Revision Numbers
' by using the '*' as shown below:

<Assembly: AssemblyVersion("")>

Recent Comments

  • smay: I have ran into this also and here is what read more
  • Sondre Bjell√•s: Nice to see my code was usefull for you :) read more
  • Dan Arnold: I had a hell of time finding that same feature. read more
  • tmichael: Unfortunately I don't. Sorry. read more
  • Kele: Don't suppose you know how to take a Exchange Post read more

Find recent content on the main index or look in the archives to find all content.