Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Auto-Moto
Mobilní telefony
Notebooky  |  Tablety
Příslušenství
Wearables  |  Ostatní
Svět hardware  |  Digimanie  |   TV Freak

Aplikace bez okna/formuláře.

Mobex (5)|20.1.2008 14:32
1) Jak vlastně vytvořím aplikaci (v c#) tak, aby byla bez okna/formuláře? Např. aplikace, která jen sejme obrazovku a uloží ji jako jpg nebo bmp. (vím jak)

2) Lze přes rapi funkce (například pomocí Desktop.Communication od OpenNETCF.org) spouštět aplikace v managed kódu?

Prosím, pokuste se mě někam nasměrovat.

děkuji,


---------------
S (Mobex)

RStein (2012)|21.1.2008 18:21
Ad 1) Staci nezobrazit formular - nespustit message loop:

[CODE]
mespace SmartDeviceProject1
{
static class Program
{
///
/// The main entry point for the application.
///

[MTAThread]
static void Main()
{
//Libovolny vas kod
// Application.Run(new Form1()); - tento radek vymazete
} // Zde aplikace skonci
}
}
[/CODE]

Ad 2) Pokud vam jde jen o spusteni procesu, pouzijte API RAPI.CreateProcess.
[CODE]
public void CreateProcess(
string FileName,
string CommandLine)
[/CODE]
Mobex (5)|21.1.2008 21:05
Díky za odpověď.

Ještě k ad1) Lze taky použít i konzolovou aplikaci (typ) - pokud ano jaký je pak mezi nimi rozdíl?

ad 2) Budu chtít počkat na ukončení té aplikace z ad1 a eventuálně i zjístit jak tj. s jakým výsledkem dopadla (dobře/špatně) - s tím si pohraji sám a snad by to už neměl být problém.

RStein (2012)|22.1.2008 19:26
Ad 1) Tipuji, ze pro vas zadny :) Console app je jednoduse pro Windows dalsi ("bezokenni") typ aplikace s jinymi IN/Out nastavevenimi.
Ad 2) Tohle je spis kandidat na aktivaci vlastni knihovny na PDA, ktera spusti proces a pocka na dokonceni procesu a pote vam na PC posle vysledek.
Pres RAPI.Invoke spustite svoji funkci na pda (funkce musi byt napsana v C++ dll):
public void Invoke(
string DLLPath,
string FunctionName,
byte[] InputData,
out byte[] OutputData
);

Ve funkci Pres CreateProcess spustite proces na PDA, pockate pomoci WaitHandle na dokonceni, pres funkci GetExitCodeProcess zjistite navratovou hodnotu a poslete ji do pocitace (na pocitaci ji budete mit v out byte[] OutputData)
Mobex (5)|22.1.2008 20:48
Díky :yes: jdu na to!

C# je pro mě novinka, C++ je pro mě pohoda. Proto ty otázky! :)
Mobex (5)|28.6.2008 15:50
Zajimavý koncept blízký tomuto tématu je tady http://www.codeplex.com/managedserviceswm.