Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pozivanje prg. i slanje fajlova kao ulazni argumenti

[es] :: .NET :: Pozivanje prg. i slanje fajlova kao ulazni argumenti

[ Pregleda: 1993 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Pozivanje prg. i slanje fajlova kao ulazni argumenti08.08.2008. u 13:40 - pre 191 meseci
Predpostavljam da se to izvodi na sledeci nacin:
Napravim .exe (Console Application) koji u Main metodi ima (string[] args) i dalje u toj metodi napisem sta da radi sa fajlovima (args[n]). Uzeo sm prost primjer da sve fajlove (argumente) upise u novi .txt.

Code:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            FileStream fl = File.Create("D:\\aaa.txt");
            StreamWriter sw = new StreamWriter(fl);

            StringBuilder sb = new StringBuilder();

            foreach (string arg in args)
            {
                sb.Append(arg);
            }

            sw.WriteLine(sb);
            sw.Flush();
            sw.Close();
        }
    }
}


Ali to mi radi samo za jedan fajl. Gdje sam pogrijesio. Znam da je bila jedna tema vezana za ovo ali mi nije pomogla.

Nisam rekao da program pozivam tako sto sam njegov poziv smjestio u pop-up menu windows-a pa kad idem desni click na fajl ili vise fajlova zatim pozovem prg.

[Ovu poruku je menjao dava dana 08.08.2008. u 16:01 GMT+1]
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

bunker
Srđan Savković
Smederevo

Član broj: 4495
Poruke: 239
212.5.210.*



Profil

icon Re: Pozivanje prg. i slanje fajlova kao ulazni argumenti11.08.2008. u 10:29 - pre 191 meseci
Pa ti ovde i otvaras samo jedan fajl. Meni se cini da je tvoj kod u redu, ali da ti nisi dobro definisao sta bi hteo da uradis.
Nije važno stići prvi. Važno je prvo da stigneš.
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: Pozivanje prg. i slanje fajlova kao ulazni argumenti11.08.2008. u 12:36 - pre 191 meseci
Ne, ne, ovako. Hocu da markiram (selektujem) vise fajlova - idem desni klik - pa iz pop-up menu-ja pozovem svoj program. Tada bi trebalo da windows proslijedi te selektovane fajlove mom programu. Moj program ih zapisuje u novootvoreni fajl "D:\\aaa.txt".

Onaj kod gore, radi samo kad je u pitanju jedan fajl. Znaci desni klik na jedan fajl pa pozovem program, a program uredno kreira aaa.txt fajl koji sadrzi putanju i ime fajla koji sam mom programu poslao kao ulazni argument.
Ako mu posaljem vise fajlova, odnosno selektujem vise fajlova pa pozovem program, aaa.txt fajl ostane prazan.
Negdje je greska.
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: Pozivanje prg. i slanje fajlova kao ulazni argumenti16.08.2008. u 18:49 - pre 191 meseci
Ne znam da li sam jasno objasnio stvar pa cu probati ovako:
kad u windows explorer-u selektujemo vise fajlova pa idemo desni klik pa recimo pozivamo winrar. Tada se starta winrar a kao argumente dobije te fajlove koje smo selektovali. Isto tako ja pozovem svoj program ali on ne radi ako selektujem vise fajlova. Kako da ovo izvedem?
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.115.*



+7 Profil

icon Re: Pozivanje prg. i slanje fajlova kao ulazni argumenti04.09.2008. u 22:07 - pre 190 meseci
@dava Mozda ovo moze da ti pomogne ... Probao sam ovo o cemu pitas, napisao sam i iskompajlovao mali Console program u VB 2008 koji ispisuje CommandLine koji dobije od windowsa. Napravio sam 2 fajla sa ekstenzijom tst i podesio explorer da je default aplikacija kojom se otvaraju ovi fajlovi ova moja aplikacija.
Rezultat
Selektujem oba i odaberem (desno pa) Open i explorer mi pokrene dve instance moje aplikacije (svaka je dobila po jedan fajl kao ulazni parametar)
Selektujem oba pa desno pa Open With pa moj program. Explorer otvara jednu instancu programa sa putanjem fajla koji je ispod strelice.
OS je WinXP
poz

 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: Pozivanje prg. i slanje fajlova kao ulazni argumenti06.09.2008. u 12:58 - pre 190 meseci
Bojim se da mi to nije od pomoci.
Citat:
Eurora3D Team
Selektujem oba i odaberem (desno pa) Open i explorer mi pokrene dve instance moje aplikacije (svaka je dobila po jedan fajl kao ulazni parametar)
Selektujem oba pa desno pa Open With pa moj program. Explorer otvara jednu instancu programa sa putanjem fajla koji je ispod strelice.
OS je WinXP
poz


Ovo je na neki nacin suprotno od mog zahtjeva, jer ti ovdje otvaras N broj instanci i za N broj parametara, a meni treba jedna istanca programa koja ce dobiti sve parametre.

Onaj prg. iz prvog posta fino radi kada se pozove iz komandne linije i iza njegovog poziva nanizemo argumente:
Code:

test.exe file1.txt file2.txt file34.txt


... ali kada ga pozovem na nacin koji ja hocu on ne odradi posao.

Ovo je mozda vise pitanje o windows-u kako radi u tim slucajevima.
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.adsl-3.sezampro.yu.



+395 Profil

icon Re: Pozivanje prg. i slanje fajlova kao ulazni argumenti06.09.2008. u 13:59 - pre 190 meseci
Citat:
dava: Ne znam da li sam jasno objasnio stvar pa cu probati ovako:
kad u windows explorer-u selektujemo vise fajlova pa idemo desni klik pa recimo pozivamo winrar. Tada se starta winrar a kao argumente dobije te fajlove koje smo selektovali. Isto tako ja pozovem svoj program ali on ne radi ako selektujem vise fajlova. Kako da ovo izvedem?


Moras da napravis shell-extenziju (COM objekat) koja ce da radi pod Windows explorer-om kao zasebni dll
i koja ce da poziva tvoj program sa prosledjenim fajlovima.












Viva lollapalooza
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.115.*



+7 Profil

icon Re: Pozivanje prg. i slanje fajlova kao ulazni argumenti07.09.2008. u 20:01 - pre 190 meseci
Pa izgleda da je ovde problem u windows shell-u posto je ocigledno da windows pokrece jednu instancu programa po fajlu.
Izgleda da ces morati da uradis nesto kao sto je @deerbeer napisao da bi dobio komandnu liniju sa vise fajlova
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Pozivanje prg. i slanje fajlova kao ulazni argumenti08.09.2008. u 13:14 - pre 190 meseci
Tacno, ne postoji shell class za selekciju vise fajlova, "shell/command" registry tweak da pokrenes svoj executable kroz context meni moze da sa nakaci na class "*" (za bilo koju ekstenziju) ili u klasu odgovarajuce ekstenzije. Medjutim, command i open prepoznaje samo %1 parametar (sto je ime jednog fajla). Za selekciju vise fajlova mora da se napravi context menu handler COM i da se registruje u * klasi, a onda taj tvoj COM da pozove exe fajl sa naredjanim imenima fajlova koje dobije od shell-a. Ne postoji drugi nacin.


Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Dejan Vesic
Dejan Vesic
CEO
IGT Ogranak Beograd
Beograd

Član broj: 84929
Poruke: 217
*.finsoft.co.yu.

Sajt: www.vesic.org


+1 Profil

icon Re: Pozivanje prg. i slanje fajlova kao ulazni argumenti09.09.2008. u 13:58 - pre 190 meseci
Uobičajeno rešenje za ovo je:

- Napraviš tvoj program tako da detektuje kada je pokrenut više puta
- Svaka instanca koja se pokrene, a detektuje da je "glavni" već pokrenut, prosledi mu parametre preko NativeWin32Code.WM_COPYDATA poruke i ugasi se

Tako će glavna instanca dobiti sve parametre za više markiranih fajlova.

Primer za procesiranje poruke (slanje) je recimo ovde: http://bytes.com/forum/thread497679.html




 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: Pozivanje prg. i slanje fajlova kao ulazni argumenti09.09.2008. u 19:59 - pre 190 meseci
Hvala a odgovorima, a i za link. Proucicu pa kad dodjem do rjesenja postavicu ovdje. Samo nesto mi to ne izgleda kao najelegantnije rjesenje, pa zar na taj nacin rade recimo winamp, WMP, Winrar i svi ostali programi koji se mogu startati na taj nacin?
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Pozivanje prg. i slanje fajlova kao ulazni argumenti09.09.2008. u 20:18 - pre 190 meseci
Rade upravo preko COM context handlera, evo ti npr iz mog registry-a registracija za 7-Zip arhiver, koja registruje GUID {23170F69-40C1-278A-1000-000100020000} kao context handler:




A taj GUID je u stvari InProc COM objekat:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{23170F69-40C1-278A-1000-000100020000}]
@="7-Zip Shell Extension"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{23170F69-40C1-278A-1000-000100020000}\InprocServer32]
@="D:\\Program Files (x86)\\7-Zip\\7-zip.dll"
"ThreadingModel"="Apartment"


Tako da svi oni funkcionisu na taj nacin, i nije preterano tesko napraviti taj shell extension (mada ima dosta mesta u registriju na koja moras da se uselis), ali ne moze se zaobici.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
Prikačeni fajlovi
 
Odgovor na temu

[es] :: .NET :: Pozivanje prg. i slanje fajlova kao ulazni argumenti

[ Pregleda: 1993 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.