i'm trying to open remote application(notepad) on windows 7 64. this is what i tried:
object[] theProcessToRun = {"notepad"};
ConnectionOptions theConnection = new ConnectionOptions();
theConnection.Username = "user";
theConnection.Password = "pass";
ManagementScope theScope = new ManagementScope("\\\\" + ip + "\\root\\cimv2",
theConnection);
ManagementClass theClass = new ManagementClass(theScope,
new ManagementPath("Win32_Process"), new ObjectGetOptions());
theClass.InvokeMethod("Create", theProcessToRun);
This code open the notepad only in the task manager. how can i make the notepad be visable.
thanks.
A basic example of Remote Desktop is connecting your home laptop to your office PC so you can access files, run applications, print documents, etc. on that PC without going into the office. However, the host device does not have to be a PC.
Launch an app on Android devices. Click on the device on which you have to launch the app. Go to Actions > Remote App Launch. Select the application from the drop-down list. Remote app launch can be configured with any of these settings.
Remote desktop software, also known as remote access software, allows a user to seamlessly connect to and interact with a computer in another location via an internal network or the internet.
Use Remote Desktop to connect to the PC you set up: On your local Windows PC: In the search box on the taskbar, type Remote Desktop Connection, and then select Remote Desktop Connection. In Remote Desktop Connection, type the name of the PC you want to connect to (from Step 1), and then select Connect.
The process not showing is by design for security purposes in WMI. The best option I'm aware of is to use Win32_ScheduledJob to schedule a time for the application to start in an interactive manner.
The following code is untested but I think should do what you want with some tweaking.
using System;
using System.Management;
using System.Reflection;
class ScheduleJob
{
public static uint Create (
string Command,
uint DaysOfMonth,
uint DaysOfWeek,
bool InteractWithDesktop,
bool RunRepeatedly,
string StartTime, // in DMTF format !
out uint JobId)
{
// See: Platform SDK (or WMI SDK) doc's for detailed info about 'Win32_ScheduledJob' class
ManagementBaseObject inputArgs = null;
ManagementClass classObj = new ManagementClass (null, "Win32_ScheduledJob", null);
inputArgs = classObj.GetMethodParameters ("Create");
inputArgs ["Command"] = Command;
inputArgs ["DaysOfMonth"] = DaysOfMonth;
inputArgs ["DaysOfWeek"] = DaysOfWeek;
inputArgs ["InteractWithDesktop"] = InteractWithDesktop;
inputArgs ["RunRepeatedly"] = RunRepeatedly;
inputArgs ["StartTime"] = StartTime;
// use late binding to invoke "Create" method on "Win32_ScheduledJob" WMI class
ManagementBaseObject outParams = classObj.InvokeMethod ("Create", inputArgs, null);
JobId = ((uint)(outParams.Properties ["JobId"].Value));
return ((uint)(outParams.Properties ["ReturnValue"].Value));
}
// Delete the Scheduled (JobID)
public static uint Delete (uint JobID)
{
ManagementObject mo;
ManagementPath path = ManagementPath.DefaultPath;
path.RelativePath = "Win32_ScheduledJob.JobId=" + "\"" + JobID + "\"";
mo = new ManagementObject (path);
ManagementBaseObject inParams = null;
// use late binding to invoke "Delete" method on "Win32_ScheduledJob" WMI class
ManagementBaseObject outParams = mo.InvokeMethod ("Delete", inParams, null);
return ((uint)(outParams.Properties ["ReturnValue"].Value));
}
public static string ToDMTFTime (DateTime dateParam)
{
string tempString = dateParam.ToString ("********HHmmss.ffffff");
TimeSpan tickOffset = TimeZone.CurrentTimeZone.GetUtcOffset (dateParam);
tempString += (tickOffset.Ticks >= 0) ? '+' : '-';
tempString += (Math.Abs (tickOffset.Ticks) / System.TimeSpan.TicksPerMinute).ToString ("d3");
return tempString;
}
}
class JobScheduler
{
public static void Main ()
{
uint JobID;
DateTime dt = DateTime.Now; // Get current DateTime
dt = dt.AddMinutes (1); //add 1 minute to current time
string LocalDateTime = ScheduleJob.ToDMTFTime (dt); // convert to DMTF format
// Schedule Notepad to run every Sunday and Wednesday
uint ret = ScheduleJob.Create (
// @"runas /user:administrator\domain /profile cmd ",
@"c:\winnt\notepad.exe",
0, 32, true, true, LocalDateTime, out JobID);
if (ret == 0) { // sucess
Console.WriteLine ("Wait for Job to be scheduled and Press: <Enter> to delete");
Console.ReadLine (); // For test purposes - Wait for job to be scheduled.
ret = ScheduleJob.Delete (JobID); // Get rid of this Job
}
Console.WriteLine (ret);
}
}
/* Days of week
Sunday 64,
Monday 1,
Tuesday 2,
Wednesday 4,
Thursday 8,
Friday 16,
Saturday 32
*/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With