Category Archives: windows

Cannot copy photos from my iPhone to Windows 11

This error, the scourge of iOS: “Device is unreachable”.

Maybe help articles that you’ll find  tell you to do all of the standard stuff like install a new version of iTunes, update Windows, reboot Windows, Change settings so that  photos are converted on copy.

However, many times none of those are the cause.  iOS can get into a corrupt state in regards to being able to copy files to Windows via Windows Explorer.  The fix to this is to reboot your iPhone (and not Windows).  This very often fixes the issue and allows you to then copy files.

Once files are copying again you might break those file copies into smaller sections such as by folder.  Sometimes copying too much data causes the connection with the iPhone to faulter.

How can I create a shortcut to start a command prompt as an administrator?

  • Right click on the desktop or a folder in Explorer and choose “New->Shortcut”
  • Enter “cmd” (without quotes) as the location of the item.
  • Give any name you like
  • Right click on the shortcut icon you created, choose “Properties” and then choose “Advanced”
  • On the “Advanced Properties” dialog choose “Run as Administrator” and then click “OK”
  • Click “OK” again on the properties dialog.

Although this is tagged for Windows 11, it should work for all supported Windows versions.

Poor sound quality on JBL E40BT headphones in Windows 11


On Windows 11 the sound quality on my bluetooth headphones has degraded quality.


Bluetooth headphones that come with both a mic and headphones sometimes load a profile that have both the mic and the headphones turned on. In some scenarios this can degrade sound quality. If you are just using your headphones for listening you can turn off the mic. On Windows 10 you would see two bluetooth profiles for the headphones, one with a mic and one without. On Windows 11 you need to go to Sound Settings -> Manage Sound Devices and change the Input to a different microsphone

. Upon doing the quality of the sound from the headphones output will return to a higher quality output. You can also reach this menu by click the sound icon in the notification area, then clicking the right arrow, then clicking More volume settings.

Borders on WPF on 4K high resolution monitors

The issue is that when you view your WPF application on a normal 96 monitor everything looks fine, but once you view it on a high resolution monitor edges don’t seem to line up right everywhere and sometimes there are issues with the borders rendering and lining up correct.

The two key settings to try to fix this can be set at the page or window level and these are `UseLayoutRounding` and `SnapToDevicePixels`.

    UseLayoutRounding="True" SnapsToDevicePixels=True"

These features should work on both the classic .NET Framework and the new WPF running on .NET Core.


How to determine if a drive is an SSD or an HDD in Windows

In order to determine the drive type you can utilize Powershell.

  1. Click the Windows Icon (Start), then type Powershell and run it.
  2. At the Powershell prompt, type “Get-PhysicalDisk | Select-Object FriendlyName,DeviceId,MediaType”

  The result should be something as follows:

FriendlyName              DeviceId MediaType
------------              -------- ---------
Samsung SSD 850 PRO 512GB 0        SSD
WDC WD5000AAKX-753CA1     1        HDD

Visual Basic 5 & 6 INI Module

The following is a Visual Basic module to read and write from a Windows INI file. This makes use of the Windows API’s GetPrivateProfileString and WritePrivateProfileString to handle fast parsing and writing to the files.

VB Code

Attribute VB_Name = "modIni"
'  Module: INI Processing

' Windows API to read/write from the INI File
Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long

Public Function GetFromIni(mySection As String, myEntry As String, iniFile As String) As String
    Dim buf As String
    Dim myLength As Long
    buf = String$(256, 0)   '256 null characters    
    myLength = GetPrivateProfileString(mySection, myEntry, "", buf, 256, iniFile)    
    getFromINI = Left$(buf, myLength)
End Function

Public Function WriteToIni(mySection As String, myEntry As String, buf As String, iniFile As String) As Boolean
    Dim x As Long
    x = WritePrivateProfileString(mySection, myEntry, buf, iniFile)

    If x = vbTrue Then
        writeToINI = True
        writeToINI = False
    End If
End Function

Cannot find VBRUN300.DLL.


An application your using throws the following error.

Cannot find VBRUN300.DLL.


“VBRUN300.dll” was one of the necessary files needed to run an application compiled under Visual Basic 3.x. Visual Basic 3.x was a 16-bit development environment that could run on operating systems as early as Windows 3.0/3.1 and continued to be supported into the 32-bit Windows OS’s as far as Windows 7.


The first for this error is to included the necessary files in the same directory as the executable in question. Microsoft still provides these files for download at:

SQL Server 2014–Database Roles Explained

The following is a listing of database rolls in SQL Server 2014.  These also apply to SQL Server 2005, SQL Server 2008, SQL Server 2008R2 and SQL Server 2012.

  • db_accessadmin – Group members can add or remove access for logins and groups.
  • db_backupoperator – Group members can back up the database.
  • db_datareader – Group members can read all data from all user tables.
  • db_datawriter – Group members can add, delete, or change data in all user tables.
  • db_ddladmin – Group members can run any data definition language (DDL) command in a database.
  • db_denydatareader – Group members cannot read any data in the user tables within a database.  Deny permissions always take precedence over grant permissions.
  • db_denydatawriter – Group members cannot add, modify, or delete any data in the user tables within a database. Deny permissions always take precedence over grant permissions.
  • db_owner – Group members can perform all configuration and maintenance activities on the database.  db_owner permissions can also drop the database.
    db_securityadmin – Group members can modify role rolls and manage permissions.

All database users belong to the public database role unless specifically denied that permission.  Users will inherit permissions of this role which generally should be restricted.

How do I search for an image with another image in Windows?


How do I search for an image using another image as the criteria?

Answer 1:

There are a few ways. If you are looking for an exact match you can use a program that creates unique hashes based on the contents of the file that will determine with certainty that it is identical. There are many free programs available to do this. Wikipedia lists open source/free duplicate file finders:

Answer 2:

The second method involves using a program that is able to compare two photos possibly of different sizes and estimate whether they are of of the same image. This is called a “reverse image search”. For Windows as of the writing of this article there is a free package called Visipics which can do a reverse image search on your hard drive. Visipics is also reported to work under Linux utilitizing the wine virtualization software. This package can be found here:

How can I tell what version of Windows 8 I am running?


You want to know what version of Windows 8 you are running.

Solution 1:

Open the “Control Panel”, then choose “System and Security” then choose “System”.  The edition of Windows you are running will be in the “Windows edition” section.

Solution 2:

Press “Windows Key+R” to open a run dialog and then type in “winver” to start the Windows version dialog program.  This should have the version at the top of the screen.

Solution 3:

Use the command prompt to access the system information.  Press “Windows Key+R” then type in “cmd” to start a command prompt.  From the command line enter this command:

systeminfo | findstr /B /C:"OS Name" /C:"OS Version"