como puedo llamar a la calculadora de windows, y obtener el resultado de la
operacion. ?
1. En el form importas System.Enviroment
2. En el Control donde llamas a la calculadora va el
siguiente Codigo:
Dim strPath as string
strpath=GetFolderPath(SpecialFolder.System)
Shell(strPath & "\calc.exe", AppWinStyle.NormalFocus,False)
Y Listo.
¿Imagino que será un ejemplo para saber como hacerlo con otras aplicaciones,
no?. No parece muy sensato utilizar la calculadora de windows para hacer
cálculos desde un programa.
Esto sería un ejemplo de como usar el portapapeles para copiar el resultado
de otra aplicación:
Dim proc As Process = Process.Start("calc.exe")
While Not proc.Responding
Threading.Thread.Sleep(100)
End While
SendKeys.SendWait("2{+}3{Enter}^C")
proc.Kill()
Dim resultado As String =
Clipboard.GetDataObject().GetData(GetType(String)).ToString()
MsgBox(resultado)
Si la aplicación usa entrada/salida de consola (una aplicación MS/DOS, por
ej.), en lugar de SendKeys y Clipboard, deberás redirigir la entrada/salida
hacia tus propios stream.
--
Juan Carlos Badiola
MVP - C#
Dim proc As Process = Process.Start("calc")
proc.WaitForInputIdle()
SendKeys.SendWait("5{+}3{Enter}^C")
proc.Kill()
Dim resultado As String =
Clipboard.GetDataObject().GetData(GetType(String)).ToString()
MsgBox(resultado)
No había visto hasta ahora el método WaitForInputIdle()
Dim procStart As New
ProcessStartInfo(Environment.GetEnvironmentVariable("COMSPEC"))
procStart.CreateNoWindow = True
procStart.UseShellExecute = False
procStart.RedirectStandardInput = True
procStart.RedirectStandardOutput = True
Dim proceso As Process = Process.Start(procStart)
Dim sIn As IO.StreamWriter = proceso.StandardInput
Dim sOut As IO.StreamReader = proceso.StandardOutput
sIn.WriteLine("dir c:\")
sIn.WriteLine("exit")
MsgBox(sOut.ReadToEnd())
"SqlRanger" <jesuslmARROBAwanadooPUNTOes> escribió en el mensaje news:utuMzsUmCHA.2300@tkmsftngp07...