|
rderkis wrote: Quite a few people say it can't be done but since some of the onscreen keyboards
do it, it can be done. That it can be done does not mean that there is a solution publicly available. I'd imagine the best onscreen keyboard would be an actual device driver that acts as an input-device.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Ok, I sent a email to one of the free onscreen code authors (that work with a DOS application).
He said they use sendinput.
I think I understand my problem now. I am sending the input to the cmd window and not the dos application itself. I will ask in another message how to do that. Thank all of you that took your valuable time to try to help me!
|
|
|
|
|
There is no target information in SendInput. Nothing that says "send the input to this window". So, are you sure the DOS window you launched has the focus when you call SendInput?
|
|
|
|
|
I reposted the message stating what I have done. And that I normalize the window and then set focus to it. The proper DOS screen comes up but I think your right some how I am not sending keys to the DOS application. Please check out my new post.
|
|
|
|
|
Hi everyone! I am trying to send keys from a vb.net program to a cnc control dos program.
I know it can be done because the onscreen keyboards will send keys to it.
I have searched and tried everything I could find.
At present I can set the focus to the application.
Tried pasting clipboard to it.
etc.
I have been told over and over it cant be done but like I stated the onscreen keyboards work with it.
Windows 7
VB 2010
Thank You!
Ron Derkis
|
|
|
|
|
Which on-screen keyboards? The built-in Windows on-screen keyboard?
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Yes, the easy access on screen keyboard. If you like I can try others but I think they will all work with the dos program to.
Thank you for taking the time to consider my question Mr. Andrew
|
|
|
|
|
I tried sending sendkeys to the dos process I set focus to. The focus worked and brought the dos program to the forefront but no luck on the senkeys. I substituted the dos program name with notepad and it worked fine. Upon researching the problem most people were of the option sendkeys would not work with dos programs.
|
|
|
|
|
I just tried an experimental program where I sent keystrokes to an open command window, and it worked.
Are you able to send keystrokes to any other command prompt windows (i.e. running a different DOS program?)
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Yes just tried to send to command prompt, worked great. Why cant I send it to the dos program.
This is the vary basic code I am testing with (Proof of concept)
Private Sub BtnSetFocus_Click(sender As System.Object, e As System.EventArgs) Handles BtnSetFocus.Click
Dim App As Process() = Process.GetProcessesByName(DosTitle.Text)
Label1.Text = "Program Not Found"
If App.Length > 0 Then
Label1.Text = "Program Found"
AppActivate(App(0).Id)
Thread.Sleep(1000)
SendKeys.Send("7 " + vbCr)
End If
End Sub
|
|
|
|
|
I notice that you're sending a carriage return after the character.
According to this page, [^] you should send "{ENTER}" if you wish to have the effect of pressing the ENTER key.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
I tried it using
Sendkey"7" + "{chr(13)}"
I tried it using
Sendkey"7"
I tried it using
Sendkey"7" + "{ENTER}"
I tried it using
Sendkey"7"
Sendkey"{ENTER}"
if anything I am persistent
Thank you for your time Mr Andrew
|
|
|
|
|
This is a different function to test SSL connectivity to a Web Service.
I keep getting timout on using Stream_writer. I'm thinking that I can't ask for a request until I send data to the website, or it just can't be done using streamwriter. I'm not sure, I don't do much stuff like this, but it works fine on port 80.
And the URL is like https://domain.com/webservice.asmx"
Dim request_str As String = "/ HTTP/1.1" & vbLf & "Host: " & pHost & "?wsdl"
Dim response_str As String = Nothing
Dim encoder As ASCIIEncoding = New ASCIIEncoding
Dim bytes() As Byte = encoder.GetBytes(request_str)
Dim request As HttpWebRequest = HttpWebRequest.Create(pUrl & "?wsdl")
request.Credentials = CredentialCache.DefaultCredentials
request.Method = "POST"
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8"
request.ContentType = "application/x-www-form-urlencoded"
request.KeepAlive = False
request.UserAgent = "SMTP Messenger 2015/" & My.Application.Info.Version.ToString
request.Referer = ""
request.ContentLength = bytes.Length
request.Timeout = 15
Try
ServicePointManager.ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AddressOf AcceptAllCertifications)
Using stream_writer As StreamWriter = New StreamWriter(request.GetRequestStream)
stream_writer.Write(request_str)
End Using
Using response As HttpWebResponse = request.GetResponse()
Using stream_response As StreamReader = New StreamReader(response.GetResponseStream())
response_str = stream_response.ReadToEnd()
stream_response.Close()
If (response_str IsNot Nothing) Then
If response_str.Contains("<?xml version") Then
global_variables.gOnline = True
pValue = True
End If
End If
End Using
End Using
Catch ex As WebException
|
|
|
|
|
Well I banged my head against the wall for hours on this. So I broke out fiddler.
I finally realized that I just needed to send a GET request, but kept getting that error, Verb GET cannot perform this function. hmm?
Finally I realized that I don't need to to use streamwriter to send anything, and that I just needed to use HttpWeResponse to send HttpWebRequest and read the result.
I don't have a lot of experience with using HttpWebRequest and Response, but I'm getting better at now. As as side note, I didn't know that you can attach the ServerCertificateCallback to HttpWebRequest.
So I had many issues here.
How to handle SSL,
and how to write a GET request.
Many threads on other sites simply said just change get to post.
Perhaps I should of just searched for how to request a web page.
Dim request_str As String = "/ HTTP/1.1" & vbLf & "Host: " & pHost
Dim response_str As String = Nothing
Dim request As HttpWebRequest = HttpWebRequest.Create(pUrl)
request.Credentials = CredentialCache.DefaultCredentials
request.ClientCertificates.Add(New X509Certificate)
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8"
request.CookieContainer = New CookieContainer()
request.ContentType = "application/x-www-form-urlencoded"
request.KeepAlive = True
request.Method = "GET"
request.Timeout = 10000
request.UserAgent = My.Application.Info.Title & "/" & My.Application.Info.Version.ToString
request.ServerCertificateValidationCallback = New _ System.Net.Security.RemoteCertificateValidationCallback(AddressOf AcceptAllCertifications)
Try
Using response As HttpWebResponse = request.GetResponse()
Using stream_response As StreamReader = New StreamReader(response.GetResponseStream())
response_str = stream_response.ReadToEnd()
stream_response.Close()
If (response_str IsNot Nothing) Then
If response_str.ToLower.Contains("<html") Then
global_variables.gOnline = True
pValue = True
End If
End If
End Using
End Using
Catch ex As WebException
global_variables.gOnline = True
pValue = True
End Try
|
|
|
|
|
I have a test program that will test the connection to an email server that I wrote using a socket, in which I send text command like EHLO.
It's just a fun program to play around with. But I'd like to play around with StartTLS for socket connections on port 587.
Can't find much on the subject. I can issue a StartTLS to the mail server but I'm not sure what to do next. Do I need to generate a certificate, or send my key to the mail server, stuff like that.
I found tech support for compiled programs, and that was about it. Any help would be appreciated!
|
|
|
|
|
|
Hello !
I have an application on vb.net 2013.
Is there any way , or some library that I can use to read from Barcode Readers (USB) ?
Thank you !
|
|
|
|
|
It depends on the information provided by the barcode reader. Check the documentation for the device, and see if the manufacturer provides a programming API.
|
|
|
|
|
If you have a barcode-scanner with an USB-connector, it will have keyboard-emulation. Meaning, it will send key-press-events to your application as if you entered something via keyboard. You can verify that by opening just any word-processing application and scanning a barcode. It should appear as if entered via keyboard.
So all you would have to do is to ensure that some text-input-control has the input-focus before attempting to scan something and then process it like any text-input.
Theoretically there are ways to directly read it from the barcode-scanner so that you don't have to have that text-input-control but that would be way more advanced. If you want to take a look at that anyway, I can serve you only with an article that does this with C#:
Using Raw Input from C# to handle multiple keyboards[^]
Edit: Some manufacturers also provide APIs for their barcode scanners which would provide a third way to do this. I haven't dabbled with any of those yet because it would mean to restrict the range of barcode scanners my application would be able to work with.
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
Good day friends! I have been wondering on how I can create my own installer from scratch in vb6.0 without using deployment wizard or any third party app. Any suggestion is welcome.
|
|
|
|
|
Thought it's possible, I highly recommend you don't.
First, in order for the VB6 "installer app" to work, you have to make sure the VB6 runtimes are installed. VB6 code will not run at all without them.
Seriously, use an installation creation tool like InnoSetup or Advanced Installer or whatever. Don't try to "roll your own", even more so considering you even asked this question to begin with. It tells us that you have no idea what you're doing or how complicated this is going to be.
Lastly, why are you even using VB6? It's been dead for quite a long time now. VB.NET is free for the Express or Community editions. The Community edition can be found here[^].
|
|
|
|
|
Use Install Sheild 2010. It is best. But leave vb6.0 and move to vb.net or c#.
|
|
|
|
|
<pre lang="VB.NET">Try
Dim MyConnection As System.Data.OleDb.OleDbConnection
Dim DtSet As System.Data.DataSet
Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
MyConnection = New System.Data.OleDb.OleDbConnection _
("provider=Microsoft.Jet.OLEDB.4.0;" _
" Data Source = 'c:\testfile.xls'; " _
"Extended Properties=Excel 8.0;")
MyCommand = New System.Data.OleDb.OleDbDataAdapter _
("select * from [Sheet1$]", MyConnection)
MyCommand.TableMappings.Add("Table", "TestTable")
DtSet = New System.Data.DataSet
MyCommand.Fill(DtSet)
DataGridView1.DataSource = DtSet.Tables(0)
MyConnection.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try</pre>
|
|
|
|
|
You can't split the string with the _ characters like that. If you want to spread that over several lines then introduce a variable e.g.
Dim ConnectionString As String = "provider=Microsoft.Jet.OLEDB.4.0;"
ConnectionString += " Data Source = 'c:\testfile.xls'; "
ConnectionString += "Extended Properties=Excel 8.0;"
MyConnection = New System.Data.OleDb.OleDbConnection(ConnectionString)
|
|
|
|
|
HELLO net programers, i have problem to display marker Point on Digital Maps (format shapefile). Can you help me guys ?
i hope so
Thanks,
|
|
|
|