2 * PROJECT: ReactOS Services
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: base/system/servman/export.c
5 * PURPOSE: Save services to a file
6 * COPYRIGHT: Copyright 2006 Ged Murphy <gedmurphy@gmail.com>
13 GetTextFromListView(PMAIN_WND_INFO Info
,
21 ZeroMemory(&item
, sizeof(item
));
22 item
.mask
= LVIF_TEXT
;
25 item
.cchTextMax
= 500;
26 NumChars
= (INT
)SendMessage(Info
->hListView
,
35 SaveServicesToFile(PMAIN_WND_INFO Info
,
39 BOOL bSuccess
= FALSE
;
41 hFile
= CreateFile(pszFileName
,
46 FILE_ATTRIBUTE_NORMAL
,
49 if(hFile
!= INVALID_HANDLE_VALUE
)
52 TCHAR newl
= _T('\n');
54 DWORD dwTextLength
, dwWritten
;
55 INT NumListedServ
= 0;
58 NumListedServ
= ListView_GetItemCount(Info
->hListView
);
60 for (i
=0; i
< NumListedServ
; i
++)
64 dwTextLength
= GetTextFromListView(Info
,
72 sizeof(TCHAR
) * dwTextLength
,
97 VOID
ExportFile(PMAIN_WND_INFO Info
)
100 TCHAR szFileName
[MAX_PATH
] = _T("");
102 ZeroMemory(&ofn
, sizeof(ofn
));
104 ofn
.lStructSize
= sizeof(OPENFILENAME
);
105 ofn
.hwndOwner
= Info
->hMainWnd
;
106 ofn
.lpstrFilter
= _T("Text (Tab Delimited)(*.txt)\0*.txt\0Text (Comma Delimited)(*.csv)\0*.csv\0");
107 ofn
.lpstrFile
= szFileName
;
108 ofn
.nMaxFile
= MAX_PATH
;
109 ofn
.lpstrDefExt
= _T("txt");
110 ofn
.Flags
= OFN_EXPLORER
| OFN_PATHMUSTEXIST
| OFN_HIDEREADONLY
| OFN_OVERWRITEPROMPT
;
112 if(GetSaveFileName(&ofn
))
114 if (SaveServicesToFile(Info
, szFileName
))
118 if (CommDlgExtendedError() != CDERR_GENERALCODES
)
119 MessageBox(NULL
, _T("Export to file failed"), NULL
, 0);