🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #114

Re: Ustawianie Dźwięki

#114
From: Krzysztof Swiatkowski
Date: Thu, 18 Sep 1997 05:16
67 lines
3329 bytes
On 17 Sep 1997 17:56:00 GMT, in pl.comp.lang.delphi "fenRis"
<fenris@polbox.com> wrote:

>> Czy ktoś orientuje się jak umożliwić w programie wołanie Dźwięki z
>> Control Panel? Tak się składa, że jest to ukryte w ramach MMSYS.CPL
>> stąd nie ma bezpośredniego dojścia.
>
>Przesylam fragment obszerniejszego dokumentu jaki teraz przygotowuje
>(DelphiFAQ):
>
>
>PROBLEM: 
>Jak z poziomu aplikacji uruchomić wybrany element z Panelu Sterowania 
>systemu Windows 95?
>
>ROZWIĄZANIE 1:
>Najprostszym sposobem jest uruchomienie programu 'control.exe' z 
>odpowiednim parametrem. Dla przykładu weźmy ustawienia elementu Multimedia
>, czyli plik 'mmsys.cpl'. Aby tego dokonać należy wywołać funkcję 
>ShellExecute  (moduł ShellAPI):
>ShellExecute(Form1.Handle, 'open', 'control.exe', 'mmsys.cpl', '' ,SW_SHOW);
>gdzie  Form1  to nazwa naszego okienka, a  mmsys.cpl  to nazwa żądanego 
>przez nas elementu. Aby poznać dokładniejszy opis funkcji ShellExecute 
>zapoznaj się z dokumentacją zawartą w Plikach Pomocy Delphi.
>
>ROZWIĄZANIE 2:
>Innym sposobem jest uruchomienie programu `rundll32.exe', podając mu jako 
>parametr bibliotekę `shell32.dll' stanowiącą bazę Panelu Sterowania. Jego
>przewagą jest fakt, że możemy podać numer zakładki, która ma zostać
>automatycznie uaktywniona po wyświetleniu okienka dialogowego. Program ten
>również wywołujemy przy pomocy funkcji ShellExecute:
>
> ShellExecute(Form1.Handle, 'open', 'rundll32.exe', 
>  'shell32.dll,Control_RunDLL mmsys.cpl,,NR_ZAKLADKI', '', SW_SHOW);
>
>gdzie  Form1  to nazwa naszego okienka, a  mmsys.cpl  to nazwa żądanego
>przez nas elementu. Zmienna NR_ZAKLADKI określa zakładkę jaka zostanie
>automatycznie uaktywniona, przy czym liczenie rozpoczyna się od 0.


No dobrze to ja to troszkę sprecyzuję:

chodzi o wywołanie w postaci ogólnej:

rundll32.exe shell32.dll,Control_RunDLL [nazwa_pliku_cpl],
  @[numer_apletu_w_pliku_cpl],[zakładka_w_aplecie]

małpa przed numerem jest istotna, a numer jest liczony od 0
stąd też ponieważ "Dźwięki" są drugim apletem w mmsys.cpl ich wywołanie ma
postać:

rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,@1

Oczywiście sposób uruchomienia jest nieistotny, ja używam WinExec bo
najprostsze chociaż obsolete :-)

i to by było na tyle
Hobbit

--
--------------------------------- >>> replying cut nospam from my address
Krzysztof Swiatkowski - Lodz      >>> odpowiadajac usun nospam z adresu
e-Mail:  hobbit@dom.vr.pl.nospam [lub] hobbit@priv.onet.pl.nospam

"Najlepiej uniknac nieporozumien
nie porozumiewajac sie" - S.J. Lec
__________________________________
Technical Details
Message-ID: <342357fe.20060314@news.icm.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!uw.edu.pl!news.icm.edu.pl!not-for-mail
References: <341c458f.84058217@news.cto.us.edu.pl> <01bcc2b9$81f09fe0$b28dccc2@fenris>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!uw.edu.pl!news.icm.edu.pl!not-for-mail
From: hobbit@dom.vr.pl.nospam (Krzysztof Swiatkowski)
Newsgroups: pl.comp.lang.delphi
Subject: Re: Ustawianie Dźwięki
Date: Thu, 18 Sep 1997 07:16:34 +0200
Organization: Bag End
Lines: 68
Message-ID: <342357fe.20060314@news.icm.edu.pl>
References: <341c458f.84058217@news.cto.us.edu.pl> <01bcc2b9$81f09fe0$b28dccc2@fenris>
NNTP-Posting-Host: pmone249.lodz.pdi.net
Mime-Version: 1.0
X-Mistypings: Forte Agent 1.5/32.451
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit