Index: serial.c
===================================================================
--- serial.c	(Revision 882)
+++ serial.c	(Arbeitskopie)
@@ -105,7 +105,15 @@
 {
 #ifdef _WIN32
 	HANDLE fd;
-	fd = CreateFile(dev, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
+	char* dev2 = dev;
+	if ((strlen(dev) > 3) && (tolower(dev[0])=='c') && (tolower(dev[1])=='o') && (tolower(dev[2])=='m')) {
+		dev2 = malloc(strlen(dev)+5);
+		strcpy(dev2, "\\\\.\\");
+		strcpy(dev2+4, dev);
+	}
+	fd = CreateFile(dev2, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
+	if (dev2 != dev)
+		free(dev2);
 	if (fd == INVALID_HANDLE_VALUE) {
 		sp_die("Error: cannot open serial port");
 	}
