Vai al contenuto

WINDOWS 7 - Creare un collegamento sul desktop per lo Stand-by (Sospensione)


Messaggi Raccomandati:

Inviato
Ho provato a disattivare l'ibernazione dalle configurazioni di risparmio energetico, ma non cambia nulla: da comando me lo iberna sempre! :-\

Invece procedendo dal pulsante presente nella barra di avvio, la scelta funziona regolarmente...

Se qualcuno riesce a fare un programmino glielo allego in questa pagina e lo facciamo girare, così diventa uno spot! :-D Infondo leggendo in giro pare esserci richiesta.

  • Risposte 20
  • Creato
  • Ultima Risposta

I più attivi nella discussione

I più attivi nella discussione

Inviato

Ho provato pure io, il punto è che a me il comando "rundll32.exe powrprof.dll,SetSuspendState 0,1,0" non manda in sospensione, ma sempre in ibernazione... Anche quando questa è disattivata (via comando o via menù...).

Quindi impiega una decina di secondi buoni a riavviarsi...

Eppure da qualche parte ci deve essere, perché mediante il pulsante che avevo sulla tastiera riuscivo ad attivare la sospensione (ibrida o meno che fosse) ed a riaccendere il PC in secondi.

Che caspita sarà??? :gratta:

Inviato (modificato)
Ho provato pure io, il punto è che a me il comando "rundll32.exe powrprof.dll,SetSuspendState 0,1,0" non manda in sospensione, ma sempre in ibernazione... Anche quando questa è disattivata (via comando o via menù...).

Quindi impiega una decina di secondi buoni a riavviarsi...

Eppure da qualche parte ci deve essere, perché mediante il pulsante che avevo sulla tastiera riuscivo ad attivare la sospensione (ibrida o meno che fosse) ed a riaccendere il PC in secondi.

Che caspita sarà??? :gratta:

Il like è per l'avatar :idol:

Ho verificato e come avevo paventato nel primo post di risposta, la chiamata a SetSuspendState() via rundll32.exe non funzia per il semplice fatto che l'interfaccia che run32dll si aspetta non è compatibile con la signature di SetSuspendState().

Guarda qui:

INFO: Windows Rundll and Rundll32 Interface

Detto in altri termini, rundll32 vuole:



void CALLBACK EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);

Tuttavia SetSuspendState() ha il seguente prototitpo:


BOOLEAN WINAPI SetSuspendState(
_In_ BOOLEAN Hibernate,
_In_ BOOLEAN ForceCritical,
_In_ BOOLEAN DisableWakeEvent
);

In pratica stai chiamando la funzione con spazzatura al posto dei giusti parametri.

Un programmino che faccia al caso tuo e usi i parametri che pensavi di usare nel primo post potrebbe essere questo:


#include <Windows.h>
#include <PowrProf.h>

#pragma comment(lib, "PowrProf.lib")

int main()
{
/* questo può essere migliorato, permettendo di scegliere fra Hybernate e Sleep con un parametro stabilito da linea di comando */
SetSuspendState(FALSE, TRUE, FALSE);
return 0;
}

Ovviamente il tutto è rigorosamente "untested".

Modificato da loric
copiaincollato la riga sbagliata

Alfiat Bravetta senza pomello con 170 cavalli asmatici che vanno a broda; pack "Terrone Protervo" (by Cosimo) contro lo sguardo da triglia. Questa è la "culona".

Inviato

Gianni, hai provato? Funge?

Alfiat Bravetta senza pomello con 170 cavalli asmatici che vanno a broda; pack "Terrone Protervo" (by Cosimo) contro lo sguardo da triglia. Questa è la "culona".

Inviato
Ragazzi questa discussione mi ha riportato indietro di 15 anni...quando programmavo ancora...

Non bisogna mai smettere di programmare, un giorno il mondo sarà degli informatici.

O almeno così si diceva ai tempi di questo:

Non ancora, non ho mai smanettato su programmi che poi siano veramente funzionali, il C l'ho usato solo su compilatori didattici.

In altre parole, non so neanche da che parte iniziare... :) Appena avrò un po' di tempo m'ingegnerò ;)

OK :)

Alfiat Bravetta senza pomello con 170 cavalli asmatici che vanno a broda; pack "Terrone Protervo" (by Cosimo) contro lo sguardo da triglia. Questa è la "culona".

Inviato

Ecchime.

Provato su PC con Windows 7. Funzia.

Questo è il sorgente per Visual C++ Express (applicazione console CLR).


// sleeper.cpp : file di progetto principale.

#include "stdafx.h"

#include <Windows.h>
#include <PowrProf.h>


#pragma comment(lib, "PowrProf.lib")

using namespace System;

int main(array<System::String ^> ^args)
{
SetSuspendState(FALSE, FALSE, FALSE);
return 0;
}

Visual C++ Express richiede un codice di registrazione dopo un dato periodo, ma detto codice è gratuito.

Alfiat Bravetta senza pomello con 170 cavalli asmatici che vanno a broda; pack "Terrone Protervo" (by Cosimo) contro lo sguardo da triglia. Questa è la "culona".

Guest EC2277
Inviato

Non esiste più la combinazione di tasti Alt+F4 che faceva apparire direttamente il menù di spengimento?

Crea un account o accedi per lasciare un commento

Devi essere iscritto per commentare e visualizzare le sezioni protette!

Crea un account

Iscriviti nella nostra community. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

×
×
  • Crea Nuovo...

 

Stiamo sperimentando dei banner pubblicitari a minima invasività: fai una prova e poi facci sapere come va!

Per accedere al forum, disabilita l'AdBlock per questo sito e poi clicca su accetta: ci sarai di grande aiuto! Grazie!

Se non sai come si fa, puoi pensarci più avanti, cliccando su "ci penso" per continuare temporaneamente a navigare. Periodicamente ricomparità questo avviso come promemoria.