Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Zástupce na ploše

C# .NET .NET (C# a Visual Basic) Zástupce na ploše American English version English version

Aktivity (1)
Avatar
Neaktivní uživatel:1.8.2014 14:11

Ahoj, můžete mi někdo poradit, jak vytvořit v C# .NET zástupce na ploše? Hledal jsem na netu, a našel jsem jen něco na stack overflow, ale to byl internetový zástupce.
Předem děkuji za odpovědi

Odpovědět 1.8.2014 14:11
Neaktivní uživatelský účet
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Jan Vargovský:1.8.2014 22:00

V podstatě to co jsi ty našel je jedna z možností. Seskupil jsem to celé dohromady a tu máš výsledek.

Musíš si přidat referenci (Pravým na References -> Add reference). Vyhledej v COM "Windows Script Host Object Model", tu označ a potvrď.

Pak už můžeš využívat tuhle metodu.

private static void CreateShortcut(string shortcutPath, string targetPath)
{
    if (!shortcutPath.EndsWith(".lnk"))
        shortcutPath += ".lnk";

    if (!System.IO.File.Exists(targetPath))
        throw new FileNotFoundException();

    IWshRuntimeLibrary.WshShell shell = new IWshRuntimeLibrary.WshShell();
    IWshRuntimeLibrary.IWshShortcut shortcut = shell.CreateShortcut(shortcutPath);
    shortcut.TargetPath = targetPath;
    shortcut.Save();
}

Pak jen ukázka na čem jsem to testoval

[STAThread]
private static void Main(string[] args)
{
    var shortcutName = "shortcut test.lnk";
    var shortcutPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), shortcutName);

    var executableName = "TestConsole.exe";
    var executablePath = Path.Combine(Environment.CurrentDirectory, executableName);

    CreateShortcut(shortcutPath, executablePath);
}

Kdyby něco, klidně se zeptej :)

Editováno 1.8.2014 22:01
 
Nahoru Odpovědět 1.8.2014 22:00
Avatar
Odpovídá na Jan Vargovský
Neaktivní uživatel:2.8.2014 7:04

Díky za reakci, ale přece jen bych se chtěl na něco zeptat; Proč deklaruješ proměnné tak, jak v javě? (var) A jak funguje Current Directory ?

Nahoru Odpovědět 2.8.2014 7:04
Neaktivní uživatelský účet
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Jan Vargovský:2.8.2014 11:48

Nevím o tom, že by Java měla klíčové slovo var, asi myslíš JavaScript (Btw, to není var tak jako v dynamických jazycích, ono si to zjistí typ hned při kompilaci a hned to zamění). Každopádně momentálně nevím, v tu chvíli jsem to tak napsal, klidně si to změn na stringy.

CurrectDirectory funguje tak jak bys očekával (když si to správně přeložíš), takže ti vrátí cestu (path) k tomu, odkud jsi spustil aplikaci (Většinou to je Nazev projektu/bin/de­bug/nazev projektu.exe)

 
Nahoru Odpovědět 2.8.2014 11:48
Avatar
Neaktivní uživatel:2.8.2014 19:09

Díky

Nahoru Odpovědět 2.8.2014 19:09
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.