Új hozzászólás Aktív témák

  • amargo

    addikt

    válasz amargo #2255 üzenetére

    Adott egy Win XP sp2.. Egy hálózatba kötött nyomtató (lehet ezzel van baj?), mivel még localisat nem sikerült beszereznem. Ennek a lekérdezésnek, akkor is mennie kellene a végén a loggolás már tényleg elég buta, de semmi változást nem ad. Persze ciklusba hívom a függvényt, de semmi változás. Mindig 0-t kapok csak.
    //----------------------------------------------------------------
    DWORD GetPrinterStatus( char* szPrnName )
    {
    HANDLE hHandle = 0; // Handle of the printer

    DWORD dwStatus = 0; // Printer status we should receive
    // Few values for example:
    // 0x00000000 - ready
    // 0x00000001 - paused
    // 0x00000002 - error
    // 0x00000200 - busy
    // 0x00000400 - printing
    // for more info please see MSDN

    DWORD dwSize = 0; // Size of memory we should
    // allocate for PRINTER_INFO_2

    PRINTER_INFO_2* pPrnInfo2 = 0; // Structure specifies detailed
    // printer information

    DEVMODE DevMode = {0}; // Structure contains information
    // about the device initialization
    // and environment of a printer

    PRINTER_DEFAULTS PrnDef = { 0, &DevMode, PRINTER_ACCESS_USE };

    // Open printer with name szPrnName
    if( !OpenPrinter( szPrnName, &hHandle, &PrnDef ) )
    return 0; // Error

    // How many memory should be allocated for printer data?
    GetPrinter( hHandle, 2, 0, 0, &dwSize );
    if( !dwSize )
    return 0; // Error

    // Allocate memory
    pPrnInfo2 = (PRINTER_INFO_2*)malloc( dwSize );

    // Receive printer details
    if(!GetPrinter( hHandle, 2, (LPBYTE)pPrnInfo2, dwSize, &dwSize ))
    return 0; // Error

    dwStatus = pPrnInfo2->Status;

    // Free allocated memory
    free( pPrnInfo2 );

    // Close printer
    ClosePrinter( hHandle );
    FILE *log;
    log = fopen(''nyomtat.log'', ''a+'');
    fputs((char*)&dwStatus, log);
    fclose(log);
    return dwStatus;
    }

Új hozzászólás Aktív témák