Zum Inhalt springen

Anwenung starten unter C# DeviceApplication


Filou

Empfohlene Beiträge

System.Diagnostics.Process.Start("www.rtl.de");

geht nicht :-(

c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE;PocketPC /win32res:"C:\Programme\Microsoft Visual Studio 8\SDK\v2.0\bin\hiDPI.res" /reference:"C:\Programme\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\mscorlib.dll" /reference:"C:\Programme\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\System.Data.dll" /reference:"C:\Programme\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\System.dll" /reference:"C:\Programme\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\System.Drawing.dll" /reference:"C:\Programme\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\System.Windows.Forms.dll" /reference:"C:\Programme\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\System.Xml.dll" /debug+ /debug:full /filealign:512 /optimize- /out:obj\Debug\WebRadio.exe /resource:obj\Debug\WebRadio.WebRadio.resources /resource:obj\Debug\WebRadio.Properties.Resources.resources /target:winexe Form1.cs Form1.Designer.cs Program.cs Properties\AssemblyInfo.cs Properties\Resources.Designer.cs

D:\Dateien von Reinhard\Visual Studio 2005\Projects\WebRadio\WebRadio\Form1.cs(47,51): Fehler CS1009: Nicht erkannte Escapesequenz.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin...

CS1009: In irgendeinem String hast du nach "\" was einen unerwarteten Escape-Character drin, also etwas ausserhalb von den "normalen"., die nach "\" innerhalb eines Strings stehen dürfen...

Muss aber nicht zwangsweise dein Process.Start sein.

Btw. RTL.de funktioniert bei mir von der Kommandozeile aus auch nicht. :(

Gruß,

Honky

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Fehler sollte nicht an "System.Diagnostics.Process.Start("www.rtl.de")" liegen. Das ruft i.d.R. den Defaultbrowser mit der entsprechenden Seite auf.

Falls der Fehler doch in dieser Zeile auftritt könnte das daran liegen, dass auf dem PDA das Compact Framework installiert ist und nicht das Standard Framework. Dann solltest Du Dir mal die Beschreibung von "Process.Start" in der API durchlesen, da steht inwiefern die Methode im Compact Framework verwendet werden kann.

Gruß

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Markus!

Ich denke, ich habe das CompactFramework mit dem VisualStudio zusammen installiert. Aber es läuft trotzdem nicht. Updates sind keine verfügbar.

Was nun?

------ Erstellen gestartet: Projekt: WebRadio, Konfiguration: Debug Any CPU ------

c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE;PocketPC /win32res:"C:\Programme\Microsoft Visual Studio 8\SDK\v2.0\bin\hiDPI.res" /reference:"C:\Programme\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\mscorlib.dll" /reference:"C:\Programme\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\System.Data.dll" /reference:"C:\Programme\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\System.dll" /reference:"C:\Programme\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\System.Drawing.dll" /reference:"C:\Programme\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\System.Windows.Forms.dll" /reference:"C:\Programme\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\System.Xml.dll" /debug+ /debug:full /filealign:512 /optimize- /out:obj\Debug\WebRadio.exe /resource:obj\Debug\WebRadio.WebRadio.resources /resource:obj\Debug\WebRadio.Properties.Resources.resources /target:winexe Form1.cs Form1.Designer.cs Program.cs Properties\AssemblyInfo.cs Properties\Resources.Designer.cs

D:\Dateien von Reinhard\Visual Studio 2005\Projects\WebRadio\WebRadio\Form1.cs(48,13): Fehler CS1502: Die beste Übereinstimmung für die überladene System.Diagnostics.Process.Start(System.Diagnostics.ProcessStartInfo)-Methode hat einige ungültige Argumente.

D:\Dateien von Reinhard\Visual Studio 2005\Projects\WebRadio\WebRadio\Form1.cs(48,46): Fehler CS1503: 1-Argument: kann nicht von "string" in "System.Diagnostics.ProcessStartInfo" konvertiert werden.

Kompilierung abgeschlossen -- 2 Fehler, 0 Warnungen

========== Build: 0 erfolgreich oder aktuell, Fehler bei 1, 0 übersprungen ==========

========== Bereinigen: 0 erfolgreich, Fehler bei 0, 0 übersprungen ==========

Link zu diesem Kommentar
Auf anderen Seiten teilen

kann nicht von "string" in "System.Diagnostics.ProcessStartInfo" konvertiert werden.

Finde ich recht eindeutig:


using System.Diagnostics;

[...]

ProcessStartInfo startInfo = new ProcessStartInfo("www.rtl.de");

Process process = new Process(startInfo);

process.Start();

oder (ungetestet):

System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo("www.rtl.de"));

Link zu diesem Kommentar
Auf anderen Seiten teilen

[...]Entweder unterstützt das Compact Framework die verwendete Überladung nicht[...]

scheint so, denn sonst würde die voherige Fehlermeldung

Die beste Übereinstimmung für die überladene System.Diagnostics.Process.Start(System.Diagnostic s.ProcessStartInfo)-Methode hat einige ungültige Argumente.

mit Bezug auf die ProcessStartInfo Klasse garkeinen Sinn machen. Anscheinend gehts dort nur so...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Im Compact Framework gibt es keine ProcessStartInfo.

Soweit ich weiß muß über P/Invoke die Coredll.dll angesprochen werden mit


using System.Runtime.InteropServices;


		[DllImport("coredll.Dll")]

		private static extern int CreateProcess(string strImageName, string strCmdLine, IntPtr pProcessAttributes, IntPtr pThreadAttributes , int bInheritsHandle, int dwCreationFlags, IntPtr pEnvironment, IntPtr pCurrentDir, Byte[] bArray,

			ProcessInfo oProc);


                [DllImport("coredll.dll", SetLastError=true)]

		private static extern Int32 WaitForSingleObject(IntPtr Handle,Int32 Wait);



... und eine extra Klasse


	public class ProcessInfo

	{

		public int Process;

		public int Thread;

		public int ProcessID;

		public int ThreadID;

	}


... und noch ein paar Helferlein dazu...

		public static ProcessInfo StartProcess(string filePath, string syntax)

		{

			ProcessInfo pi = new ProcessInfo();

			int exit = CreateProcess(filePath,

				syntax,

				IntPtr.Zero,

				IntPtr.Zero,

				0,

				0,

				IntPtr.Zero,

				IntPtr.Zero,

				new Byte[128],

				pi);


			if (exit >= 1)

				return pi;


			return null;

		}


		public static bool IsProcessRunning(ProcessInfo pi)

		{

			int WAIT_OBJECT_0 = 0;

			int waitResult = 0;

			waitResult = WaitForSingleObject((IntPtr) pi.ProcessID, WAIT_OBJECT_0);


			if (waitResult == 0)

				return false;

			else

				return true;

		}


Copy&Paste ist dein Freund ;) Wenn du dann jetzt in im internet explorer die seite RTL.de aufrufen möchtest, dann geht das in etwa so (ich glaube ich hatte das mal so im Inet gesehen, also keine Garantie).

StartProcess("iexplore.exe", "http://www.rtl.de");

Noch ein kleiner Tipp nebenbei und OT:

StartProcess("wceload.exe", "\"AnInstallationPackage.CAB\"");

Damit kann man aus seinem Code raus Installationen starten. Ich bin mir sicher, diese Frage kommt auch irgendwann... :floet:

Hoffe, ich konnte helfen.

Espresso

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...