问题一:如何修改打印机的默认设置?比如将默认纸张的类型由B5改为宽孔打印纸.
       (以后重新运行都要保持宽孔打印纸的默认状态)问题二:有一个式子可以生成随机数,并且每次运行时产生的随机数序列都不相同,
       我忘了,一时找不着,知道的帮个忙,谢谢:)

解决方案 »

  1.   

    下面是修改横向纵向的代码,默认纸张的类型也是这么修改,看一下DEVMODE结构体,以后重新运行都要保持宽孔打印纸的默认状态,可以把设置存进注册表中,每次加载
    void SetLandscapeMode(int PrintMode)
    {
    PRINTDLG pd;
    pd.lStructSize=(DWORD)sizeof(PRINTDLG);
    BOOL bRet=AfxGetApp()->GetPrinterDeviceDefaults(&pd);
    if(bRet)
    {
    // protect memory handle with ::GlobalLock and ::GlobalUnlock
    DEVMODE FAR *pDevMode=(DEVMODE FAR *)::GlobalLock(pd.hDevMode);
    // set orientation to landscape
    if(PrintMode==1)//纵向打印
    pDevMode->dmOrientation=DMORIENT_PORTRAIT;
    else if(PrintMode==2)//横向打印
    pDevMode->dmOrientation=DMORIENT_LANDSCAPE;   
    ::GlobalUnlock(pd.hDevMode);
    }
    }
    srand( (unsigned)time( NULL ) );   /* Display 10 numbers. */
       for( i = 0;   i < 10;i++ )
          printf( "  %6d\n", rand() );
    }
      

  2.   

    dmPaperSize=DMPAPER_ENV_B5;
    dmFields|=DM_PAPERSIZE;
      

  3.   

    只要用srand(time(0))行了,加关文件#include<time.h>.就能产生不同的随机数。