Rundll32

Rundll32
2002-11-11T19:51:06+01:00
2002-11-21T15:59:30+01:00
2022-11-02T09:30:38+01:00
  • Rámozdulok, köszi szépen
    Mutasd a teljes hozzászólást!
  • az ms-nel keresd meg a platform sdk-t es nosza rajta :)
    Mutasd a teljes hozzászólást!
  • Köszönöm szépen,ez már segít nekem.
    Nagyon hasznos tanácsokat adtál, igyekszem a gyakarlatban alkalmazni őket.Ezeket honan tudod?Van neked valami Winfos leírásod, vagy csak eccerűen sokat buherálod az oprendszert?
    Egyébként mindegy, csak ha tanulni, okosodni akarok (Winfos témában) merre forduljak. Mert jó lenne belemászni a közepébe, hogy tudjam is mit csinál az a vacak a gépemmel.

    Egyszóval:Köszi a segítséget, ezer hála és köszönet.
    Mutasd a teljes hozzászólást!
  • platform sdk !!!!!!!!!-t nezni
    es nem rundll es hasonlot turni, foleg 2k,XP
    na ezert lesznek olyanok a progik, amilyenek

    es itt egy fentebibol kimasolt pelda

    Displaying the Shutdown Dialog Box

    Windows NT/2000/XP: The following example uses the InitiateSystemShutdown function to begin the system shutdown process on the computer on which is user is logged on. The application must first enable the SE_SHUTDOWN_NAME privilege. For more information, see Privileges.


    BOOL MySystemShutdown( LPTSTR lpMsg )
    {
    HANDLE hToken; // handle to process token
    TOKEN_PRIVILEGES tkp; // pointer to token structure

    BOOL fResult; // system shutdown flag

    // Get the current process token handle so we can get shutdown
    // privilege.

    if (!OpenProcessToken(GetCurrentProcess(),
    TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
    return FALSE;

    // Get the LUID for shutdown privilege.

    LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,
    &tkp.Privileges[0].Luid);

    tkp.PrivilegeCount = 1; // one privilege to set
    tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

    // Get shutdown privilege for this process.

    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
    (PTOKEN_PRIVILEGES) NULL, 0);

    // Cannot test the return value of AdjustTokenPrivileges.

    if (GetLastError() != ERROR_SUCCESS)
    return FALSE;

    // Display the shutdown dialog box and start the countdown.

    fResult = InitiateSystemShutdown(
    NULL, // shut down local computer
    lpMsg, // message for user
    20, // time-out period
    FALSE, // ask user to close apps
    TRUE); // reboot after shutdown

    if (!fResult)
    return FALSE;

    // Disable shutdown privilege.

    tkp.Privileges[0].Attributes = 0;
    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
    (PTOKEN_PRIVILEGES) NULL, 0);

    return TRUE;
    }
    If the AbortSystemShutdown function is executed in the time-out period specified by InitiateSystemShutdown, the system does not shut down.

    BOOL PreventSystemShutdown()
    {
    HANDLE hToken; // handle to process token
    TOKEN_PRIVILEGES tkp; // pointer to token structure

    // Get the current process token handle so we can get shutdown
    // privilege.

    if (!OpenProcessToken(GetCurrentProcess(),
    TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
    return FALSE;

    // Get the LUID for shutdown privilege.

    LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,
    &tkp.Privileges[0].Luid);

    tkp.PrivilegeCount = 1; // one privilege to set
    tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

    // Get shutdown privilege for this process.

    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
    (PTOKEN_PRIVILEGES)NULL, 0);

    if (GetLastError() != ERROR_SUCCESS)
    return FALSE;

    // Prevent the system from shutting down.

    if ( !AbortSystemShutdown(NULL) )
    return FALSE;

    // Disable shutdown privilege.

    tkp.Privileges[0].Attributes = 0;
    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
    (PTOKEN_PRIVILEGES) NULL, 0);

    return TRUE;
    }

    Mutasd a teljes hozzászólást!
  • Ezt egy kicsit részletezhetnéd, ha nem vagyok túl pofátlan.Szóval a hozzászólásodból egy kikkot sem értettem...
    Nem tehetek róla, hogy HÜLYE vagyok...

    SE_SHUTDOWN privilege token...
    Hogy lehet ilyenhez hozzájutni? Aggyák a bótban?
    Nekem elég, ha egy linket acc, abból már kitalálom, remélem. Mert ANNYIRA nem vagyok ám hülye!
    Mutasd a teljes hozzászólást!
  • Kedves, Drága, és egyebek.

    Nagyon kérlek legyen kedved ezen hasznos infót megosztani velem, mert olyan jóóó lenne. Nekem. Neked meg az lenne benne a jó, hogy a tanítás fenkölt érzésével gazdagodnál, szellemi kielégülésben lenne részed, meg ilyenek.
    Szereintem ez a bolondnak is megéri...
    Mutasd a teljes hozzászólást!
  • Bibó én tudom ha lessz egyszer kedvem veled is megosztom!
    Mutasd a teljes hozzászólást!
  • Hát na, azért irtunk magánban, mert azt kérted.

    Tehát be kellene szerezni az SE_SHUTDOWN privilege-t (ha jól emlékszem), az pedig igy nem fog menni.

    Miért épp rundll32? Script+WMI nem jó?
    Mutasd a teljes hozzászólást!
  • Nekem így sem akarja
    Az API-kat én a helyedben C++ -ban hívnám meg.Most próbálkozom vele,majd kialakul.Egyébként a kövi címen megvannak a hívások: Pages perso Orange - Domaine obsolète jutottál valamire szólj lécci!
    Mutasd a teljes hozzászólást!
  • Hi! Túl sokat nem tudok csak annyit, hogy hogyan kell leállítani, íme: rundll32.exe user32.dll,ExitWindows

    A vessző után ne tégy space-t mert nem müxik akkor! Próbáltam a user32.dll-ből kiszedni még pár parancsot, de már sajna nem emlékszem, hogy volt e vmi használható!

    Egyébként érdekelne engem is ez a dolog, főleg az a része, hogy hogyan lehet a win api hívásokat ezzel a módszerrel paraméterezni!
    Mutasd a teljes hozzászólást!
  • Ki tudja megmondani, hogy Win2k,XP alatt a Rundll32-vel, parancssorban, hogyan lehet kijelentkezni, újraindítani, leállítani, stb. Csak mint a Winfos 98-ban? Mert nekem ez nem nagyon ment...Nyilván én vagyok a béna.
    Választ ííímélben pls.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd