|
indian143 wrote: Could the delay loading of IEFrame.dll be a problem Looks more of a side-effect than a cause.
indian143 wrote: FileNotFoundException: The specified module could not be found. That's what's causing the error.
indian143 wrote: And when we go to the web applications bin folder and remove the "cplustools.dll" dll file and refresh the browser the application runs normally. Sounds like it's copying an outdated version to the output-folder. And it runs normal if the assembly is deleted from that folder? Then there's probably a correct version on the system, probably in the GAC.
indian143 wrote: I am not sure why we need to use cplustools.dll and Calinx.dll Presumably the "Lab" assembly uses them. Pharmacy and laboratory stuff, according to Google.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I got kind of half understanding about the problem from the above answer, but you didn't confirm me about the reason of the problem. Can you please give me a little more hint for how to solve the problem.
Yes may be we are referencing the old version of the dll, and system may contain the newer version of the dll, but still if I reference the dll from the system32 directory the problem still persists.
I am trying my head braking to resolve this issue, not a lot of help over the internet too, may be because the this component is specific for this client only.
Please help me it would be really great.
Thanks & Regards,
Abdul Aleem Mohammad
St Louis MO - USA
|
|
|
|
|
indian143 wrote: Can you please give me a little more hint for how to solve the problem. Not really; you'll need to find out what version of the DLL is being expected.
indian143 wrote: Yes may be we are referencing the old version of the dll, and system may contain the newer version of the dll, but still if I reference the dll from the system32 directory the problem still persists. Create a clean build-environment, and make sure there's only one version of the assembly.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Hi,
As it was a product of another company, I don't have much knowledge or documentation for the dll, it is difficult to find the which is the correct version.
And another thing I doubt is, the dll is created on different OS, like may be xp or 2003 server etc. So may be this dll is referencing to some OS files that are not available in current OS or may be different versions of OS dlls.
Can we fix it by using any other means other than the above you mentioned? Its making everybody painful.
Thanks for your help.
Thanks & Regards,
Abdul Aleem Mohammad
St Louis MO - USA
|
|
|
|
|
Find "a" working verion, and test it for full compatibility with your product. Delete all other instances of it, anywhere on the network. It'll be quite some hunting-work, but the only alternative is to download random versions of the internet. That sounds like a worse idea.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Hello everybody,
I need to use the function DeviceIoControl to monitor the status of a COM port (RS485) but I don't know how to do.
I have declared the functions:
<DllImport("CoreDll.dll")> _
Shared Function DeviceIoControl(ByVal hDevice As Integer, ByVal dwIoControlCode As Integer, _
ByVal lpInBuffer As String, ByVal nInBufferSize As Integer, _
ByVal lpOutBuffer() As Byte, ByVal nOutBufferSize As Integer, _
ByRef lpBytesReturned As Integer, ByVal lpOverlapped As Integer) As Integer
End Function
Private Declare Function CreateFile Lib "coredll.dll" _
(ByVal lpFileName As String, ByVal dwDesiredAccess As Int32, _
ByVal dwShareMode As Int32, ByVal lpSecurityAttributes As IntPtr, _
ByVal dwCreationDisposition As Int32, ByVal dwFlagsAndAttributes As Int32, _
ByVal hTemplateFile As IntPtr) As IntPtr
Declare Function CloseHandle Lib "coredll.dll" (ByVal hObject As IntPtr) As Boolean
I use CreateFile (it works) to get an handle to the COM port and I pass it to DeviceIoControl:
Const FILE_SHARE_READ As Integer = &H1
Const FILE_SHARE_WRITE As Integer = &H2
Const GENERIC_READ As Integer = &H80000000
Const GENERIC_WRITE As Integer = &H40000000
Dim portPtr As IntPtr
Dim ris As Boolean
Dim InBuffer As String
Dim OutBuffer(100) As Byte
Dim BytesReturned, Overlapped As Int32
portPtr = CreateFile(com.PortName & ":", GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0)
ris = DeviceIoControl(portPtr.ToInt32, IOCTL_SERIAL_GET_COMMSTATUS, InBuffer, InBuffer.Length, OutBuffer, OutBuffer.Count, BytesReturned, Overlapped)
CloseHandle(portPtr)
I don't know what must be the value of IOCTL_SERIAL_GET_COMMSTATUS and I'm not sure that I'm using DeviceIoControl in the right way.
I have found some information only in C++ like:
#define IOCTL_SERIAL_GET_COMMSTATUS CTL_CODE(FILE_DEVICE_SERIAL_PORT, 27, METHOD_BUFFERED, FILE_ANY_ACCESS)
but how can I use it in VB.NET?
And then, DeviceIoControl should fill a SERIAL_STATUS structure:
typedef struct _SERIAL_STATUS {
ULONG Errors;
ULONG HoldReasons;
ULONG AmountInInQueue;
ULONG AmountInOutQueue;
BOOLEAN EofReceived;
BOOLEAN WaitForImmediate;
} SERIAL_STATUS, *PSERIAL_STATUS;
but a structure is not just a byte array as in my declaration of DeviceIoControl (that I have found googling around).
Can somebody help me?
Thanks in advance.
|
|
|
|
|
|
Thank you David,
the reason I need to use DeviceIoControl is to catch the UART framing error that happens when I receive a DMX512 data packet.
I use the SerialPort class in trasmission without problem because I can create a correct DMX data packet with the starting break (line low - zero - at least for 88 µs) but when I receive data I can't get the break that starts the packet, I just get one zero, it doesn't metter how long the break is, but this break causes a framing error, so, if I get the framing error I get the start of the data packet.
|
|
|
|
|
|
Yes, I tried to use the ErrorReceived event but it doesn't seem to work.
I use the DataReceived event to receive data and it works but I get no error, on the other hand I read in the help that:
...
PinChanged, DataReceived, and ErrorReceived events may be called out of order, and there may be a slight delay between when the underlying stream reports the error and when code can when the event handler is executed. Only one event handler can execute at a time.
...
However, I found another way using API and p/invoke: I use the function WaitCommEvent() to get directly the break instaed of the framing error.
This solution was suggested by Bruce Eitman in the MSDN Windows Embedded Compact forum and I found a good example in the article "Smart Device Print Engine for Compact Framework" by Orkun GEDiK here in CodeProject.
Thanks anyway for your interest and for your time.
|
|
|
|
|
How to use keypress event inside timer?
i have to use
Asc(e.keypress)=102 '102-Ascii value of "f"
e.handled=true 'stop the key from processing
all these has to be done even when the application is minimized
|
|
|
|
|
What you want is not possible.
First, the keypress event is raised on the UI-thread. Whatever timer is being used, it will not be raised during the timer-event. You'd need to buffer them keys somewhere.
If the application is minimized, then no keypress-events will be generated - since your app does not have input-focus. You'd need a keylogger for what you'd want - which brings us back to your previous question.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I have a keylogger and it is detecting the key pressed.
but i want that the pressed key should not be processed to display on the screen what ever be the current application.
And How to have input-focus to my application.
Help me to solve these problems.......
|
|
|
|
|
You're NOT going to use the normal form events for this, nor a timer.
You have to use a (Google for this "global keyboard hook".
Since you just admitted to making a keylogger, you're on your own from now on.
|
|
|
|
|
Guys my aim is not to make a keylogger,i have to detect the ascii key pressed and block that keys from displaying and send my own characters to display.
But This keylogger detects only the key not the character.
with my minimized form i have to detect the ascii characters.How to do this?
I will explain What the exact process is to be done...
When I press any character in any editor the corresponding character should not be displayed on the screen(in other words Input Blocker) and instead of the blocked character i would like to disply my own characters.
i have to do this with my minimized form i.e when my form is in background and when it is closed the inputs should be displayed on the screen as i type.
help me guys plzzzzzzzz...............
modified 29-Oct-13 13:23pm.
|
|
|
|
|
I already told you. If you're writing a keylogger, you're on your own.
|
|
|
|
|
I am not writing a keylogger.Leave this keylogger topic.
I am asking help how to do the below process,help me for this......
When I press any character in any editor the corresponding character should not be displayed on the screen(in other words Input Blocker) and instead of the blocked character i would like to display my own characters in that editor.
i have to do this with my minimized form i.e when my form is in background and when it is closed the inputs should be displayed on the screen as i type.
How to do this process?
|
|
|
|
|
how to place a number or a string in the registry.
and read that value from that place.
|
|
|
|
|
|
Working with Windows Registry using VB.NET[^] - Sorry- Seems like someone else already pointed you there.
MSDN[^]
People becoming wiser in order to notice the stupid things they did back in the young days. This doesn't mean that they really stop doing those things. Wise people still do stupid things, only on purpose.
|
|
|
|
|
I have Filewatcher services and after 300 files I am getting this error:
Too many changes at once in directory
how can I fix it?
|
|
|
|
|
Try and put in meaningful filters in your file watcher code.
If you are monitoring every change, then you are going to run out of resources very quickly.
|
|
|
|
|
|
i do have filtering however one a month we have a job which produce more then 300 files...
my filtering...
e.FullPath.ToUpper.IndexOf("~WRD") > -1 OrElse e.FullPath.ToUpper.IndexOf(".TMP")
|
|
|
|
|
In that case you have to enlarge InternalBufferSize . It's default size is 4096 (4K). You must take your number of files to proceed (plus some) and multiply it by 16 (the size of each entry in the buffer); round it up to the next 1024 (1K) and set InternalBufferSize to it...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is (V).
|
|
|
|