Python GUI for Visual Basic 6 Programmer

I spent decades developing complex software using Visual Basic 6 for our oceanographic science program. I am not a programmer but a biological oceanographer with some computer aptitude. I took Fortran and Pascal programming in college. When hired at Scripps Institution of Oceanography, I took over a data acquistion program from a colleague who wrote it in Basic. Most higher level programming languages are similar in structure such as ‘for loops’ or ‘if…then’, so it mainly comes down to semantics. So I taught myself QuickBasic then when Windows became our primary operating system, Visual Basic. I considered Visual C++ but Visual Basic was so quick and easy to read and debug. I never switched. So decades of Visual Basic programs starting with Windows 3.11, 95. 98…all the way to Windows 7. Then I retired but my legacy is my Visual Basic data acquisition and processing programs. They are still used in 2023 but the migration of Python is happening. A new programmer for the oceanographic seagoing program is working on re-developing/re-writing my VB programs in Python. I hope to help and one tool I found is QtDesigner.
If you install Anaconda Python, it installs the PyQt & QtDesigner. Anaconda is a great amalgam of Python tools & it can be confusing to mentally organize the various packages it includes. QtDesigner is what I’m mainly interested in and you have to hunt for designer.exe under the Anaconda installation dir, usually: “Users/username/anaconda3/Library/bin/designer.exe”.
There are plenty of way to install PyQt & QtDesigner but I find using Anaconda’s install package, although bloated, my favorite.

Create a shortcut to designer.exe on your desktop and open the python gui. Start by Create Main Window and you’ll see a very Visual Basic-like GUI development environment. Select a component from the toolbox by single click-hold then drag onto the Main Window. The properties windows on the right is very much like Visual Basic.

There are plenty of tutorials on how to create a python app with QtDesigner online & on YouTube. If you are looking for a Visual Basic type of GUI tool to develop Python apps or to migrate your VB programs. QtDesigner may be a good place to start.
I tried RealBasic, which has been rename Xojo, and was successful at quickly writing some apps for the later version of Windows. It’s still being developed but is probably another dead-end for passing on your source code. Although it’s a modern, multi-platform Basic programming language environment. Most of the current generation of programmers prefer something like Python.

HP Photosmart S20 Scanner on Windows 7

I’ve had a HP PhotoSmart S20 scanner for years and never really got around to seriously scanning in my slides & negatives. Now that I have the time and interest, I find it will not work with Windows 10. Fortunately, I have a Windows 7 laptop that seems to handshake with my scanner. I follow these directions found by googling “HP Photosmart S20 Windows 10” on the Dell Forums. Some advice is to install Vuescan which is supposed to install a compatible Win 10 driver but this isn’t true. In fact, on Vuescan’s website, it says to make the scanner work requires a HP driver.
After installing ps804en,exe on my Windows 7 laptop, the scanner appears under ‘Devices’. I’ll see if and how it works before spending a lot of time trying to get it working on my desktop running Windows 10.
If you are trying to get your scanner working on newer versions of Windows. Give the following instructions a try. I’ll add the driver download link from a good resource that worked for me.
https://www.helpjet.net/Fs-60847854-80177087-39633014-devices.html

If you have HP drivers installed, follow the first 12 instructions. Otherwise, start at Go to www.HP.com or get the driver from the helpjet link above, or google ‘ps804en.exe’. You’ll get several links including cnet.com.

  • Disconnect the scanner from the system
  • Click Start- (Settings)- Control Panel
  • Look to the left. If listed, click “Switch to Classic View”
  • Double-click the Add or Remove Programs icon
  • Look to the left. If listed, click the Change or Remove Programs button. A listing of all installed programs should be available
  • Select all HP scanner applications/drivers you want removed and then click the Change/Remove button
  • The InstallShield Wizard dialog box, select the Remove check box
  • Click Next
  • If you get a window for “Remove Share Component”, click “Yes to All”
  • If you get a window for “Remove Share File”, click “Yes to All”
  • Click Yes
  • When finished, close all boxes
  • Go to www.HP.com
  • Select ‘Home & Home Office.’
  • Type ‘S20 ps804en.exe’ into the top Search field [press the ENTER key]
  • Click HP Photosmart s20 photo scanner
  • Select ‘Download drivers & software’ from this screen.
  • Select ‘Microsoft Windows XP.’
  • Select ‘PhotoSmart Scanner (SCSI) and S20/S20xi Photo Scanner (USB) Software.’
  • Click ‘Download now’ to being downloading ps804en.exe
  • Click Save
  • Click Desktop
  • Click Save
  • When done, double-click the downloaded file
  • A Windows-based message will appear during installation that recommends stopping installation because the HP Photosmart software has not passed Windows Logo testing
  • Ignore this and click ‘Continue Anyway’
  • Follow the prompts to finish loading the software
  • Click Start- Shutdown- Restart- OK or Click Start- Turn Off Computer- Restart
  • Reconnect the powered on scanner

Helpjet’s driver page also has instructions you can try:

Here is a step by step manual guide for HP PhotoSmart C5101A – S20 software installation process on Windows 7 / 8 / 8.1 / 10 / Vista / XP.
1 Download ps804en.exe file for Windows 7 / 8 / 8.1 / 10 / Vista / XP, save and unpack it if needed.
2 Switch on your new hpphotosmartscanner hardware.
3 Right click on the My computer icon and push Properties tab then. Choose Hardware tab. Click on Device Manager button.
4 Find your HP PhotoSmart C5101A – S20 device in the list and press double click on the hpphotosmartscanner device. Click Reinstall driver button.
5 Choose Install from the specific location and click on the Browse button. Click on the Next and Finish button after that to complete the installation process.
6 After these steps, you should see HP PhotoSmart C5101A – S20 device in Windows peripheral manager.

TopazLab Old Versions

After watching YouTube videos on two of my favorite TopazLabs plugins for Lightroom & Photoshop, DenoiseAI & SharpenAI. The reviewers of version 3.02 of SharpenAI thought the lowlight correction did not work as well as the older version.
Note: version 3.0.3 rolled back the low-light module back to the older version. So it’s probably safe to install the latest version and get the best results. Still, it’s nice to have the full installer archived just in case. So consider downloading the full versions of the programs to insure future updates don’t change some aspect of the program you prefer.
DenoiseAI has also been updated to 3.0.2. I installed both programs using the online installer so did not have an archive of the older versions. Fortunately, I was able to find the older versions on TopazAI’s website so I downloaded the full installers. These pages are not very easy to find so I thought listing them here might help anyone wanting older versions. I do not know how long these link will work but as of Apr 2021, they provide download links to older versions. Since these are from TopazLabs, I feel confident they are legit. But I do not take any responsibility for them and any security flaws that may have been addressed in the latest versions.

NordVPN Old Version Pre-Web Browser Login

I’ve been a user of NordVPN for a couple years. It works well to help keep my Amazon FireTV, Windows & Apple computers & phone secure. The last update, 6.35, changed the way you login in Windows, requiring a web browser pop-up login. I do not know if there is a workaround but from what I found posted on Reddit. Others who do not like this method, downgraded to version 6.32.24. The link on Reddit wanted to download a rar, appearing a little suspect – I was not sure if it’s legit or tampered with. So I tracked down direct download links that are from nordvpn. I’ve posted then here in case others wanted to downgrade to the older version that auto-logins. I take no responsibility for these older versions, or any security flaws that new versions patch etc. So far, I’ve only noticed the inconvenience of the Windows login so will run the latest version on my other devices. Once you download these archive, scan them with your own anti-virus/anti-malware software. If you look at the urls linked below, as far as I know, they are nordvpn servers & legit. I do not know how long these links will work but as of Apr 2021, they are good. Update: Oct 2023 these links are 404, looks like we’ll have to find this version elsewhere like filehippo.com. I’ve switch to SurfShark so no longer use NordVPN. But if I did, I would use the latest version for maximum security.

Drive-mapping in Windows 7/10

I’ve written a lot of programs in Visual Basic, starting a LONG time ago. I never transitioned over to Visual Basic.net or Studio. The ease & speed of Window program development kept me using Visual Basic 6 long after its retirement. I dabbled with other similar IDE like RealBasic/Xojo which is a worthy successor. But I had invested so much time developing VB programs, I never fully switched over.
One aspect of my VB programming is I did not want to edit the registry when installing my programs or rely on .ini files. So I used .cfg text files for file paths & program configurations. To enable my programs to save data to a network server. The server’s data directory would be mapped to a drive letter, typically Q:. Q being available on most data acquisition and processing workstations & tablets. Unfortunately, mapping a network drive to a letter was phased out by Microsoft. But I found a registry hack posted by Technet that would revive this option. This allows my “.cfg-file-path-driven” programs to work in Windows 7 and 10.
Here is the method as written for the calcofi.org website:

Some Programs Cannot Access Network Locations When UAC Is Enabled

Source URL: http://technet.microsoft.com/en-us/library/ee844140%28v=ws.10%29.aspx

Updated: November 16, 2009

Applies To: Windows 7 & Windows Server 2008 R2 (and Windows 10)

Symptom

SIO-CalCOFI Visual Basic Windows programs reading or writing files to a network, mapped (to a letter) drive may display a “network not found” error. This prevents the program from accessing files or writing files to the network drive. The registry changed outlined in the Microsoft white paper will fix the “visibility” of a mapped network drive and allow the program to read & write properly.

After you turn on User Account Control (UAC) in Windows Vista or Windows 7, programs may not be able to access some network locations. This problem may also occur when you use the command prompt to access a network location.

Cause

This problem occurs because UAC treats members of the Administrators group as standard users. Therefore, network shares that are mapped by logon scripts are shared with the standard user access token instead of with the full administrator access token.

When a member of the Administrators group logs on to a computer running Windows Vista or Windows 7 that has UAC enabled, the user runs as a standard user. Standard users are members of the Users group. If you are a member of the Administrators group and you want to perform a task that requires a full administrator access token, UAC prompts you for approval. For example, if you try to edit security policies on the computer, you are prompted. If you approve the action in the User Account Control dialog box, you can then complete the administrative task by using the full administrator access token.

When an administrator logs on to a computer running Windows Vista or Windows 7, the Local Security Authority (LSA) creates two access tokens. If LSA is notified that the user is a member of the Administrators group, LSA creates the second logon that has the administrator rights removed (filtered). This filtered access token is used to start the user’s desktop. Applications can use the full administrator access token if the administrator user provides approval in a User Account Control dialog box.

If a user is logged on to a computer running Windows Vista or Windows 7 and if UAC is enabled, a program that uses the user’s filtered access token and a program that uses the user’s full administrator access token can run at the same time. Because LSA created the access tokens during two separate logon sessions, the access tokens contain separate logon IDs.

When network shares are mapped, they are linked to the current logon session for the current process access token. This means that if a user uses the command prompt (cmd.exe) together with the filtered access token to map a network share, the network share is not mapped for processes that run with the full administrator access token.

Resolution

Important
This section contains steps that modify the registry. Incorrectly editing the registry may severely damage your system or make your system unsafe. Before making changes to the registry, you should back up any data on the computer. For more information about how to back up and restore the registry, see article 322756 in the Microsoft Knowledge Base (http://go.microsoft.com/fwlink/?LinkID=133378).

To work around this problem, configure the EnableLinkedConnections registry value. This value enables Windows Vista and Windows 7 to share network connections between the filtered access token and the full administrator access token for a member of the Administrators group. After you configure this registry value, LSA checks whether there is another access token that is associated with the current user session if a network resource is mapped to an access token. If LSA determines that there is a linked access token, it adds the network share to the linked location.

To configure the EnableLinkedConnections registry value

  1. Click Start, type regedit in the Start programs and files box, and then press ENTER.
  2. Locate and then right-click the registry subkeyHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System.
  3. Point to New, and then click DWORD Value.
  4. Type EnableLinkedConnections, and then press ENTER.
  5. Right-click EnableLinkedConnections, and then click Modify.
  6. In the Value data box, type 1, and then click OK.
  7. Exit Registry Editor, and then restart the computer.