打印整个文件夹

Printing whole folder

第一次在这里提问,如有不妥之处敬请见谅

我尝试编写的程序有问题。 我想要做的是让用户选择一个文件夹,然后程序打印所有文档(主要是 pdf 和 word 文件的混合),而无需任何更多的用户交互。

更糟糕的是,我工作的系统受到严格限制,因此我的测试可能性有限。

基本上,我想要的是在代码中执行某种相当于右键单击打印的操作。或将文件复制到打印机队列。

如果有人能指出正确的方向,我将不胜感激。 Google 帮助不大。我尝试执行打印命令,但它没有按照我的要求执行。

我目前的尝试:

void folderFrame::onOpen(wxCommandEvent &event)
{
    int listLength;
    wxArrayString fileList;
    wxString pFolder, pCommand;

    chooseFolder = new wxDirDialog(this, _("Please choose folder from which to print:"), "", wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST, wxDefaultPosition, wxDefaultSize,"");
    if (chooseFolder->ShowModal() == wxID_OK) //User chooses folder
    {
        int pResult;
        pFolder = chooseFolder->GetPath();
        wxDir::GetAllFiles(pFolder, &fileList, "", wxDIR_FILES);  //Get all files in folder
        listLength = fileList.GetCount();   //Get number of files                            
        for(int i = 0; i < listLength; i++)  //For each file...
        {
            pCommand = _T("print /d:\\app065\300408_P18 "); //Make command to execute
            pCommand.append(fileList[i]);
            theText->AppendText(fileList[i]);   //The text ctrl is to check what commands I actually execute
            theText->AppendText("\n");          //And to check if the system return errors
            theText->AppendText(pCommand);
            theText->AppendText("\n");
            pResult = wxExecute(pCommand, wxEXEC_SYNC | wxEXEC_SHOW_CONSOLE | wxEXEC_NOEVENTS, NULL, NULL); //Print!!!!
            theText->AppendText(wxString::Format(wxT("%i\n"), pResult));
        }
    }
}

print .... 只打印一个文件。

仅复制returns 0(成功错误代码,但没有任何反应)

所以,我被困在这里了。任何前进的帮助将不胜感激。

/迈克

这实际上并不难,因为您的路径提示 Windows。 ShellExecute的第二个参数可以是"print".