Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

c# pitanje u vezi "open with" iz Windows explorera

  • 6 odgovora
  • 3.234 pregleda

Najnovija ↓

c# pitanje u vezi "open with" iz Windows explorera 16.03.2009. u 00:27 · pre 214 meseci #1
Imam jedan problem. Napravio sam program za pushtanje muzike. Ustvari samo koristim biblioteke koje je neko vec napravio. Moje pitanje je kako da pustam muziku iz windows explorera sa "open with"?
Kako da napravim da moj program prima file-ove koje pokrecem dvoklikom iz windows explorera?

Hvala.
Re: c# pitanje u vezi "open with" iz Windows explorera 16.03.2009. u 09:59 · pre 214 meseci #2
Treba da registrujes extenziju fajla tvog programa tj. da je asociras sa tvojim programom,
tako sto ces pri instalaciji ili pri inicijalnom startup programa uneti u sledece registry grane :
Npr. ako ti se program zove MusicPlayer a extenzija .mpf
Code:

HKEY_CURRENT_USER :  Software\Classes\MusicPlayer.mpf \shell\open\command
i u command grani kao default kljuc uneti putanju tvog programa : 
"c:\Program Files\..\MusicPlayer.exe" "%1" (obrati paznju na navodnike) .. 


Dodas default ikonicu iz exe fajla da bi explorer dodelio tom fajlu ikonicu tvog programa .

Code:

HKEY_CURRENT_USER : Software\Classes\MusicPlayer.mpf\DefaultIcon 
i dodas putanju tvog programa isto u default kljuc te grane : 
c:\Program Files\...\MusicPlayer.exe,0   // nula mu govori da uzme prvu ikonicu iz exe fajla


Sledeca registry grana koju treba kreiras je :
Code:

HKEY_CURRENT_USER ::Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mpf

U toj registry grani treba da dodas kljuc ProgID i da u njega upises "MusicPlayer.mpf"

i to bi bilo to ... :D

Potpis
Viva lollapalooza
Re: c# pitanje u vezi "open with" iz Windows explorera 25.03.2009. u 11:02 · pre 214 meseci #3
Mislim da nisam bio bash jasan. Open With dijalog u Windowsu to sve sam radi ako se chekira opcija "Set as default program for this file type". Ja to sve uradim i svi mp3 file-ovi dobiju ikonicu mog programa i program se pusti ali to je sve shto se desi. Moje pitanje je kako da u kodu napravim da se pusti i pesma?

hvala na odgovoru.
Re: c# pitanje u vezi "open with" iz Windows explorera 25.03.2009. u 11:19 · pre 214 meseci #4
Tebi treba startovanje programa sa argumentima. Main metoda bi trebala da ti izgleda ovako:

Code:
static void Main(string[] args)


i kad pozoves program: mojprogram nekapjesma.mp3 u prvom elementu niza args dobices string nekapjesma.mp3.
Za prosledjivanje vise argumenata odnosno fajlova, stvari idu drugacije.

Open With uradi to, ali to je rucni nacin podesavanja, tako da nakon instalacije programa ces morati uvjek to podesiti. Zato ti je bolje uradi ovako kao sto je @deerbeer predlozio, tj. da ti program sam podesi koji ce ga fajlovi asocirati.
Potpis
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
Re: c# pitanje u vezi "open with" iz Windows explorera 26.03.2009. u 15:28 · pre 214 meseci #5
Evo primera:

Program.cs

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

Imam jedan picturebox na formi i hteo bi da sa open with otvorim sliku.

ovo sto sam ovde postavio je program.cs a imam i form1.cs. U form.cs nemam nikakav kod osim defaulta. Sta dalje?

Hvala.

Re: c# pitanje u vezi "open with" iz Windows explorera 26.03.2009. u 16:30 · pre 214 meseci #6
Ovako:

Code:

        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            if (args.Length == 0)
                Application.Run(new Form1());

            else
            {
                Application.Run(new Form1(args[0]));
            }
        }


Code:

    public partial class Form1 : Form
    {
        public Form1(string slika)
        {
            InitializeComponent();
            pictureBox1.Image = Image.FromFile(slika);
        }

        public Form1()
        {
            InitializeComponent();
        }
    }
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme