Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7942591
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 4, 20262026-06-04T00:01:14+00:00 2026-06-04T00:01:14+00:00

Is there a way to, in c# write a serial port redirector? I have

  • 0

Is there a way to, in c# write a serial port redirector? I have an app that is coded to use port 1 (com1:) however, my port on the handheld (Intermec CN50) is always 3. I do not have access to modify the mobile software, however I would like to redirect any data going out to 1 to copy it to 3 and any data coming in to copy it from 3 to 1, so the app doesnt know the difference.

I know this is a difficult issue, but I am sure one of you guys out there have an answer.

I sure dont.

Thanks
Chris

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-04T00:01:16+00:00Added an answer on June 4, 2026 at 12:01 am

    No, there isn’t. You have a couple alternatives, depending on the device and your exact needs.

    The first, and simplest, is to redirect the driver. If your device doesn’t already have a COM1 device defined, you can modify the registry in HKLM\drivers\builtin and change the Index for your specific port from 3 to 1. That will cause device.exe to expose the port as COM1 and not COM3. In my experience this isn’t likely to work, though, as most serial ports are set to let the OS auto-assign the index, meaning COM1 and COM2 are already in use. You can, however, still work around this. You simply have to explicitly assign an Index to every instance at or below 3 for the device. Move index 1 to 3 and index 3 to 1 and you effectively swap the ports.

    Here are some examples – there are a few because it depends on how the OEM set up driver initialization. Here’s an example of a driver with no explicit port named (in this case I2C, but it works the same way):

    driver with no port

    Note there is a Prefix and an Index. This driver is going to enumerate as “I2C0:”. If you changes the Index value to something else, say ‘2’, then it would enumerate as “I2C2:”.

    In some cases the driver can provide a specific port name, like this one:

    enter image description here

    Note here that the Port value matches Prefix plus Index. No idea what would happen if you manually set them different, so don’t do that. If you wanted to move this one to COM3, you’d change Index to 3 and Port to COM3, but you have to make sure there’s nothing else in the registry already set to use those values. You don’t want two driver instances trying to enumerate at the same Index. If you do, I think the behavior is that the second one just gets incremented, but it’s best to explicitly set the values as unique so you know what’s happening.

    If that doesn’t meet your needs, you’d have to write an actual device driver to do the port move/aggregation. It would work a lot like the existing GPS Intermediate Driver (GPSID) under Windows Mobile and would allow you to redirect the serial data to any port you want. This, however, must be written in C because managed code (in the CF) cannot export native symbols so there’s no way to get device.exe to load a C# assembly.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Is there a way to write an enumeration that can be extended. I have
Is there a way to write in a app.config file the information about endpoints?
is there any way to send CRC command through serial port from one PC
Is there any way to write an expression that gets the current context/workflowid? I'd
Is there a way to write something like this with Mojo::UserAgent ,having the possibility
Is there a way to write a single LINQ expression to get the same
Is there any way to write to a text file in Flex 4.6? Its
Is there a way to write in Visual Studio in nice formated way the
Is there any way to write a valid header/link/image? Something like <a href=index.html><h1 id=logo>Company
Is there any way to write Shoes application using IDE (NetBeans for example)? I

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.