Newsgroup: it.comp.lang.visual-basic
Titolo: Aprire la cartella stampanti

Qualcuno sa se, usando al massimo una ShellExecute o una banale Shell (devo
ficcarlo in un programma che non voglio modificare e più di questo non dà),
è possibile aprire la cartella delle stampanti - o anche il pannello di
controllo di una stampante? Creando una shortcut non va, perché è una roba
gestita dall'Explorer (non c'è un vero link) ma forse c'è un qualche switch
per explorer.exe o una rundll che fa al caso mio?.
----------------------------------------------------------------
Stefano Minardi
zet...@mclink.it
----------------------------------------------------------------

 wrote in message
8e83jr$3bh$1...@news.mclink.it...


 per explorer.exe o una rundll che fa al caso mio?.
ti sto inviando un paio di vbp su browse4folders e le cartelle di sistema.
uno (quello col form piu' piccolo e i due combo) credo sia di martinez,non
ricordo, ma lo stile con molti bei commenti mi sembra il suo.
non so se ti possono essere utili, ma  prob ci puoi ragionare un po' su.
quello sotto invece e' il codice che uso in un editor e che direi funzioni
tranquillamente in vb5:. pero' anche questo non sono sicuro ti serva, vedi
tu.
# 1  -- dalla toolbar principale chiama il setup della stampante.
# 2 -- dal frmStampa richiama le proprieta' della stampante
ciao, a.
# 1
Sub StampaImposta()
    On Error GoTo errman
    With frmMain.CDL
        .CancelError = True
        .FLAGS = cdlPDPrintSetup
        .ShowPrinter
    End With
    NomeStampante = Printer.DeviceName
    TB.Buttons("print").ToolTipText = "Stampa su " & NomeStampante
    TB.Buttons("printersetup").ToolTipText = "Imposta stampante" _
        & " (Corrente: " & NomeStampante & ")"
    Exit Sub
errman: MsgBox Error
End Sub
# 2
Private Sub cmdPrinter_Click()
    On Error GoTo errman
    With frmMain.CDL
        .CancelError = True
        .FLAGS = cdlPDPrintSetup
'        .FLAGS = cdlPDReturnDefault
        .ShowPrinter
    End With
    NomeStampante = Printer.DeviceName
    lblPrinter = NomeStampante
    lblPrinterPath = Printer.Port
    lblPrinterOrient = IIf(Printer.Orientation = 1, "Verticale",
"Orizzontale")
    lblPrinterPaper = WhichPaper()
    frmMain.TB.Buttons("print").ToolTipText = "Stampa su " & NomeStampante
    frmMain.TB.Buttons("printersetup").ToolTipText = "Imposta stampante" _
                    & " (Corrente: " & NomeStampante & ")"
    Exit Sub
errman:
    If Err <> cdlCancel Then
        NomeStampante = Printer.DeviceName
        lblPrinter = NomeStampante
        lblPrinterOrient = IIf(Printer.Orientation = 1, "Verticale",
"Orizzontale")
        lblPrinterPaper = WhichPaper()
        frmMain.TB.Buttons("print").ToolTipText = "Stampa su " &
NomeStampante
        frmMain.TB.Buttons("printersetup").ToolTipText = "Imposta stampante"
_
                    & " (Corrente: " & NomeStampante & ")"
    End If
End Sub

 wrote in message
7yMyJBBs$GA....@news-02.uni.net...


 switch per explorer.exe o una rundll che fa al caso mio?.
Non so ma con "winspool.drv" te la dovresti cavare con poche righe:
DOCUMENT:Q198860  16-FEB-1999  [vbwin]
TITLE   :HOWTO: Open the Printer Properties Dialog
--
Ciao.
Maurizio

 ti sto inviando un paio di vbp su browse4folders e le cartelle di sistema.


 ha scritto


 per explorer.exe o una rundll che fa al caso mio?.
Questi sono i metodi rundll che conosco.
'Folder stampanti #1
x = Shell("rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL _
      PrintersFolder", vbNormalFocus)
'Folder stampanti #2
x = Shell("rundll32.exe shell32.dll,Control_RunDLL main.cpl _
      @2 ", vbNormalFocus)
'Wizard per l'aggiunta di una stampante
x = Shell("rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL _
      AddPrinter", vbNormalFocus)

 wrote in message 8e96so$ld8$1...@nmaster.tin.it...


 shellexec ?
Certo, ma volevo evitarmi anche quella fatica (oggi sono stanco...)


Aspetta un sec, c'era una funzione non documentata di Shell32.DLL che richiamava
cartella stampanti, cartella fonts, risorse del computer, ecc da riga di comando
con RunDLL32, appena la ritrovo te la scrivo (anzi! appello a tutti possessori
di Win 3.1 con upgrade a Win 95!!! avviate il Program Manager, nel gruppo
Principale selezionate Cartella Stampanti e premete Alt+Invio, e segnatevi da
qualche parte la riga di comando! è quella!)


 wrote in message
OSWN4.44692$xt2.5...@news.infostrada.it...
