I am using windows mobile device, i want to know how to get notification if the storage card is removed from the device.I have DLL it has all the imported methods which send messages if the card is added or removed, but this case works fine if the DLL is in the device memory.If the application is installed in storage card, then DLL will be in Card as soon as card removed,the DLL goes out and i will not get any information from the phone that card removed or some thing like that.i am developing application in c#.DLL code is in C++, its quite tough to port it to C#,i tried to make DLL as .lib and use in c# project,but in c# we cant use .lib files also.that is the problem. we cant load DLL to main memory like .exe file.. so i m in trouble.. can any one let me know how to come up with this.
Thanks
As I understand you're question, you're asking: How can you be notified that a storage card has been removed by a program running on the storage card?
You can't. - Once the card is removed the programs on it can't run.
If that's not you're actual question can you try rewording.
Related
I have an application that reads and sends data from/to 2/3 machines attached to the PC through keyspan USB to Serial adapter. Sending/receiving works well.
My problem is that on restart of the PC, the COM ports are assigned "at random", often swapped. That makes automatic processing of data impossible.
I tried to manually set the COMm ports in the Device Manager and with Keyspan assist software without success.
Questions:
how to fix COM ports on Windows so after restart they are always same?
How to assign COM ports with java/c#/powershell (get ports setting and save it(once configured), set on next restart from configuration file)?
Thank you in advance for any suggestions.
Roman
thank you very much for your help.
In the mean time I've slightly modified the solution from http://syswow.blogspot.ch/2013/03/change-device-com-port-via-powershell.html
Unfortunately my current keyspan device ID's are not stable (KEYSPAN*USA19HMAP\00_00 and KEYSPAN*USA19HMAP\01_00 and KEYSPAN*USA19HMAP\02_00), as noted before. These ID's can and often change in between restarts (I suppose as Windows is "registering" them).
I have swapped to another vendor and now I get stable ID's / COM's (FTDIBUS\VID_0403+PID_6001+FTH8ZL5AA\0000 and FTDIBUS\VID_0403+PID_6001+FTH919SZA\0000 etc.).
Thank you once again for your help.
Roman
It's not possible without special USB drivers from your vendor. I don't know who made the USB drivers for your keyspan USB, but you might send them an email asking if they offer something like this. We use Silabs CP210X drivers for usb drivers for our products and they offer a special one that makes it so the COM ports are assigned and don't change randomly when our devices are plugged in. You might try it and see, but no promises it will work with your USB.
In my experience, COM port names are stable in Windows. I suspect there is something weird about the way your USB-to-Serial adapters were implemented, or something weird about the Windows driver you are using with it.
However, given that the COM port names are not stable for you, I would suggest using libusbp. It's a USB abstraction libary written in C which can enumerate the USB devices on your system and tell you the names of their COM ports. What you would do is:
Get a list of devices using libusbp_list_connected_devices.
For each device, call libusbp_device_get_os_id. This will return a string that is something like USB\\VID_1234&PID_DA01\6&11A23516&18&0000. That string should be stable across reboots, so you would have a list of those strings in a configuration file for your software.
If you see a device whose ID matches what is in your configuration file, then use libusbp_serial_port_create and libusbp_serial_port_get_name to get the COM port name.
The library is in C, but it can compile to a Win32 DLL, and you can use PInvoke (FFI) to call functions in it from C# or Java. The library might have some minor compilation errors if you try to compile it in Visual Studio, since it is mainly used in MinGW/GCC/clang environments. You should be able to fix those errors and/or report them as issues on GitHub.
I am developing a C# program in WPF which scans a fingerprint, stores it somewhere on local disk and then read it in another program for further manipulation.
For fingerprint scanning, i am having futronic device FS80. I have got all the required dlls in the CD but the biggest problem for me is those dlls are not valid COM components so not able to add them as a reference in my project. Anyhow I managed to add them using dllImport through coding but now I dont know which are the functions the dll contains and what are their parameters and use.
Totally stuck at the first phase only. Very frustrating because its my first attemp with wpf and device integration.
Can anyone please guide me how to integrate FS80?
I searched on futronic site but they are only providing sample exe and no code.
If anyone is having any type of idea please share.
I found something helpful.
http://read.pudn.com/downloads110/sourcecode/math/457634/FingerprintDemo/fingerprint/ftr%20scanner/ftrScanAPI.h__.htm
It is not in C# but it will give an idea
has anyone had any dealings with the above mentioned printer or one like it? I have been handed the task of introducing this printer into our c# project and am not sure where to start. I have created a sample .lbl file using Averys recommended software to get all of the dimensions correct. (Nicelabel SE)
the printer is connected to the PC via Network.
here is a Sample Image of the project that I am trying to create, I have spoken to one of the engineers at Monarch and he is helping me with creating a base file to send to the printer, and having some of the data as a variable.
ideally it would be good if I could launch a dos program which would handle this for me, but I seem to really be pulling at straws here.. I have seen the Zebra SDK, but im not sure if this printer is compatible.
Thanks.
I have spoken to the Guys from Avery and they built a template for me to use, and with a variable section in the code I was able to put in my own settings to get the required output.
To send the file to the printer I was able to use the LPR Service in windows using a batch file.
I wrote an app on my iPhone. It's a more portable and smaller version of my pc software. I activated the File Sharing feature on my app so now I can transfer files through iTunes. But I want my pc software to be able to read or write files to that shared folder on my iPhone without having to do it manually through iTunes.
I have big constraints:
I can't use a Jailbroken iPhone/iPod/iPad
The vast majority of my customers don't have Internet access (It's a farm management software so even cellular are not available in some area)... :(
I heard there is a way using Manzana and MobileDevice.dll (itunesmobiledevice.dll). I don't really know how to use these dll. I tried to use Manzana a little but I can't access my folder since it's not a jailbroken iPhone.. Can someone help me with a little bit of code example?
Or is there other ways to make my iPhone app communicate with my C# application using the USB cable without internet access or Wifi?
mobiledevice.codeplex.com. This project should let you send and retrieve files from the phone
I'd suggest seeing if you can use the iTunes scripting interface. Add the COM reference iTunes 1.1 Type Library to a project and you can control many parts of itunes automatically. I can't find the documentation for it, but you can play around with the library and see if there is something to access the file sharing section.
Here's a decent introduction to using it:
http://www.codeproject.com/Articles/7723/Controlling-iTunes-through-COM
I'm trying to write a quick app to fix the ID3 tags on my MP3 player, and I hit an annoying snag. When I plug my MP3 player into the USB, it shows up in Vista under the Portable Devices category and doesn't get a drive letter assigned. I'm using Vista x64 Home Premium and .NET 3.5.
The path looks something like "Computer\MP3 Device"
Trying to just use that path doesn't work, and from what I saw, there's no SpecialFolder that points to where I'm trying to get. I've tried opening up Disk Management and assigning a drive letter, but the Portable Device doesn't show up.
I pretty much just want to be able to do a Directory.GetFiles(...). Is there a way to get the path that will let me do that? Has anyone else encountered something like this in Vista?
If it doesn't present as a mass storage device, then it won't be mapped into the file system.