天天看點

c++學習 | Windows 程式設計一、第一個Windows執行個體程式二、自動下載下傳檔案及打開三、檔案的建立、打開與關閉操作總結

學習資料 VC驿站

課程資料:課程資料位址

視訊講解:視訊講解位址

文章目錄

  • 一、第一個Windows執行個體程式
  • 二、自動下載下傳檔案及打開
    • 1.URLDownloadToFile
    • 2.ShellExecuteEx
  • 三、檔案的建立、打開與關閉操作
  • 總結

一、第一個Windows執行個體程式

提示框函數 : MessageBox

MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType)

hWnd:此參數代表消息框擁有的視窗。如果為NULL,則消息框沒有擁有視窗,

lpText:消息框的内容。

lpCaption:消息框的标題。

uType:指定一個決定對話框的内容和行為的位标志集。

MessageBox 函數講解

#include <tchar.h>
#include <Windows.h>

int WINAPI _tWinMain (HINSTANCE hInstance, HINSTANCE hPreInstance, LPTSTR lpCmdLine, int nShowCmd)
{
	MessageBox(NULL, _T("這是我的第一個程式"), _T("我是标題"),MB_ABORTRETRYIGNORE| MB_ICONHAND|MB_DEFBUTTON3);
	return 0;
}
           

二、自動下載下傳檔案及打開

1.URLDownloadToFile

URLDownloadToFile 函數講解

#include <tchar.h>
#include <Windows.h>
#pragma comment(lib, "Urlmon.lib")

int WINAPI _tWinMain (HINSTANCE hInstance, HINSTANCE hPreInstance, LPTSTR lpCmdLine, int nShowCmd)
{
	//下載下傳=================================================
	HRESULT hRet = URLDownloadToFile(NULL , _T("https://圖檔位址.jpg") , _T("D:\\tupian.png") , 0 , NULL);
	
	/* 語句解釋。	5個參數
	URLDownloadToFile(指針|一般為NULL, 要下載下傳的網址,要存放的檔案名,保留字段|一般為0,顯示下載下傳進度狀态)
	傳回值	S_OK:下載下傳成功;
			E_OUTOFMEMORY:緩沖區長度不夠,或者沒有足夠的記憶體來完成下載下傳的操作;
			INET_E_DOWNLOAD_FAILURE:指定的資源或者回調接口有問題。*/
	
	
	//提示====================================================
	if (hRet == S_OK)
	{
		MessageBox(NULL, _T("下載下傳成功!"), _T("Tip"),MB_OK);
	}
	else 
	{
		MessageBox(NULL, _T("下載下傳失敗!"), _T("Tip"),MB_OK);
	}

	//打開檔案=================================================
	SHELLEXECUTEINFO ShellINfo = {0};
	ShellINfo.cbSize = sizeof(SHELLEXECUTEINFO);  //結構大小
	ShellINfo.lpVerb = _T("open");  //指定該函數的執行動作
	ShellINfo.lpFile = _T("D:\\tupian.png");  //操作對象路徑
	ShellINfo.nShow  = SW_SHOW; //顯示一個視窗

	BOOL bRet = ShellExecuteEx(&ShellINfo);//調用與傳回
	return 0;
}
           

2.ShellExecuteEx

ShellExecuteEx 函數講解

#include <tchar.h>
#include <Windows.h>
#pragma comment(lib, "Urlmon.lib")

int WINAPI _tWinMain (HINSTANCE hInstance, HINSTANCE hPreInstance, LPTSTR lpCmdLine, int nShowCmd)
{	//打開記事本=================================================
	SHELLEXECUTEINFO ShellINfo = {0};
	ShellINfo.cbSize = sizeof(SHELLEXECUTEINFO);  //結構大小
	ShellINfo.lpVerb = _T("open");  //指定該函數的執行動作
	ShellINfo.lpFile = _T("C:\\Windows\\notepad.exe");  //操作對象路徑[也可使是網址]
	ShellINfo.nShow  = SW_SHOW; //顯示一個視窗

	BOOL bRet = ShellExecuteEx(&ShellINfo);//調用與傳回
	return 0;
}
           

三、檔案的建立、打開與關閉操作

CreatFile 函數講解

1.建立新的空白檔案

#include <tchar.h>
#include <Windows.h>
#include <iostream>
using namespace std;

int WINAPI _tWinMain (HINSTANCE hInstance, HINSTANCE hPreInstance, LPTSTR lpCmdLine, int nShowCmd)
{         
	HANDLE hFile = CreateFile(_T("D:\\學習.txt"), GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
	                          //(路徑,讀寫,讀,空,重名建立覆寫,無屬性)
	if (hFile != INVALID_HANDLE_VALUE)
	{
		MessageBox(NULL, _T("檔案建立成功!"), _T("Tip"),MB_OK);
	}

	else 
	{
		MessageBox(NULL, _T("檔案建立失敗!"), _T("Tip"),MB_OK);
	}
	
	return 0;
}

           

2.打開一個存在的檔案

3.打開一個檔案,如果檔案存在則正常打開,檔案不存在則新建立

4.打開一個檔案,如果檔案存在則正常打開,檔案不存在則新建立

總結

以上就是Windows 程式設計的基礎内容。