PopFax.h
上传用户:looem2003
上传日期:2014-07-20
资源大小:13733k
文件大小:5k
源码类别:

打印编程

开发平台:

Visual C++

  1. #pragma once
  2. // Modify the following defines if you have to target a platform prior to the ones specified below.
  3. // Refer to MSDN for the latest info on corresponding values for different platforms.
  4. #ifndef WINVER // Allow use of features specific to Windows XP or later.
  5. #define WINVER 0x0501 // Change this to the appropriate value to target other versions of Windows.
  6. #endif
  7. #ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.                   
  8. #define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
  9. #endif
  10. #ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later.
  11. #define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
  12. #endif
  13. #ifndef _WIN32_IE // Allow use of features specific to IE 6.0 or later.
  14. #define _WIN32_IE 0x0600 // Change this to the appropriate value to target other versions of IE.
  15. #endif
  16. //#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
  17. #define _CRT_SECURE_NO_DEPRECATE
  18. // Windows Header Files:
  19. #include <windows.h>
  20. // C RunTime Header Files
  21. #include <stdlib.h>
  22. #include <malloc.h>
  23. #include <memory.h>
  24. #include <tchar.h>
  25. #include <wininet.h>
  26. #include <math.h>
  27. #include <Commdlg.h>
  28. #include <commctrl.h>
  29. #include <atlbase.h>
  30. #include <msxml.h>
  31. #include <shellapi.h>
  32. #include <gdiplus.h>
  33. #include <commctrl.h>
  34. #include <string>
  35. // TODO: reference additional headers your program requires here
  36. #include "resource.h"
  37. #include "config.h"
  38. #include "lang.h"
  39. #include "convert.h"
  40. using namespace std;
  41. #ifdef _UNICODE
  42. typedef wstring _tstring;
  43. #else
  44. typedef string _tstring;
  45. #endif
  46. #define FAX_AUTHENTICATION 0
  47. #define FAX_TRANSFER       1
  48. #define FAX_STATUS         2 
  49. extern BOOL send_fax( LPADDITIONALCONFIG aac, DWORD sendFlag = FAX_AUTHENTICATION);
  50. extern const char* TTOA( LPCTSTR tStr );
  51. extern INT_PTR CALLBACK dlg_main(HWND, UINT, WPARAM, LPARAM);
  52. extern INT_PTR CALLBACK dlg_credentials(HWND, UINT, WPARAM, LPARAM);
  53. extern INT_PTR CALLBACK dlg_send(HWND, UINT, WPARAM, LPARAM);
  54. extern INT_PTR CALLBACK dlg_preview(HWND, UINT, WPARAM, LPARAM);
  55. extern INT_PTR CALLBACK dlg_options(HWND, UINT, WPARAM, LPARAM);
  56. extern INT_PTR CALLBACK dlg_account_management(HWND, UINT, WPARAM, LPARAM);
  57. extern INT_PTR CALLBACK dlg_contact_book(HWND, UINT, WPARAM, LPARAM);
  58. extern INT_PTR CALLBACK dlg_add_contact(HWND, UINT, WPARAM, LPARAM);
  59. extern INT_PTR CALLBACK dlg_mass_fax(HWND, UINT, WPARAM, LPARAM);
  60. extern INT_PTR CALLBACK dlg_csv_import(HWND, UINT, WPARAM, LPARAM);
  61. extern BOOL browse_file( HWND hDlg, LPTSTR fileName, DWORD fnSize, LPCTSTR filter = _T("All files (*.*)*.*"), LPTSTR dir = NULL, DWORD dirSize = 0 );
  62. extern DWORD WINAPI send_fax_thread( LPVOID param );
  63. extern DWORD WINAPI send_dlg_thread( LPVOID param );
  64. extern DWORD parse_xml( LPCTSTR xmlData, CComBSTR varName, LPTSTR retVal, DWORD retSize, DWORD index = 0 );
  65. extern LPCTSTR get_err_msg( int errId );
  66. extern void set_foregrouwnd_window( HWND hDlg );
  67. extern LPCTSTR get_fax_status( LPCTSTR faxStatus );
  68. extern BOOL insert_str( LPTSTR str, DWORD strSize, LPCTSTR insStr, TCHAR endChar );
  69. extern HFONT set_control_font( HWND hDlg );
  70. extern void resize_control_to_text_len( HWND hDlg, LPCTSTR str );
  71. extern void set_lang_txt( HWND hDlg, LPADDITIONALCONFIG aac, DWORD wnd = 1 );
  72. extern BOOL set_conv_method( BOOL dither );
  73. extern void draw_item( LPADDITIONALCONFIG aac, LPDRAWITEMSTRUCT lpDrawItem );
  74. extern void preview( HWND hDlg, LPCTSTR sendFile );
  75. extern BOOL send_packet( LPADDITIONALCONFIG aac, LPCTSTR sendStr );
  76. extern BOOL add_multipart_data( LPTSTR str, size_t strSize, LPCTSTR name, LPCTSTR data );
  77. extern void add_items_mass_list_from_buffer( HWND hDlg, HWND hList, LPADDITIONALCONFIG aac, LPCTSTR csvBuff, DWORD csvNum = 0, TCHAR delim = 0);
  78. extern void convert_image( LPAPPCONFIG ac );
  79. class CURLEncode
  80. {
  81. private:
  82. static char csUnsafeString[];
  83. const char* decToHex(char num, int radix);
  84. bool isUnsafe(char compareChar);
  85. const char* convert(char val);
  86. public:
  87. CURLEncode() { };
  88. virtual ~CURLEncode() { };
  89. const char* URLEncode(const char* vData);
  90. };
  91. class CURLDecoder
  92. {
  93. public:
  94. static const char* decode(const char* str);
  95. private:
  96. static int convertToDec(const char* hex);
  97. static void getAsDec(char* hex);
  98. };
  99. using namespace Gdiplus;
  100. /*_____________________________________________________________________________________________________
  101.     CGdiPlusInit declaration
  102. _______________________________________________________________________________________________________
  103. */
  104. class CGdiPlusInit
  105. {
  106. public:
  107.     CGdiPlusInit();
  108.     virtual ~CGdiPlusInit();
  109.     BOOL Good(){ return present; }
  110. BOOL gdi_start();
  111. void gdi_stop();
  112. private:
  113.     BOOL present;
  114.     ULONG_PTR token;
  115. };
  116. extern CGdiPlusInit gdiplusInit;