📄 mainform.cpp
字号:
#define NO_WIN32_LEAN_AND_MEAN
#include <shlobj.h>
#include <vcl.h>
//---------------------------------------------------------------------------
#pragma hdrstop
#include "Mainform.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{//在桌面上创建快捷方式
if(FAILED(CoInitialize(NULL)))
{
MessageBox(Handle,"COM初始化失败","信息提示",MB_OK);
return;
}
if(this->Edit1->Text.Length()<1)
return;
AnsiString StrFileName=this->Edit1->Text;
int CSIDLVALUE;
char Path[MAX_PATH+1];
AnsiString StrDestDir;
CSIDLVALUE=CSIDL_DESKTOPDIRECTORY; //"桌面文件夹";
LPITEMIDLIST pidl;
LPMALLOC pShellMalloc;
if(SUCCEEDED(SHGetMalloc(&pShellMalloc)))
if(SUCCEEDED(SHGetSpecialFolderLocation(NULL,CSIDLVALUE,&pidl)))
if(!SHGetPathFromIDList(pidl,Path))
{
MessageBox(Handle,"操作失败","提示信息",MB_OK);
return;
}
pShellMalloc->Free(pidl);
pShellMalloc->Release();
StrDestDir=Path;
StrDestDir+="\\";
StrDestDir+="新建程序桌面快捷方式";
StrDestDir+=".lnk";
IShellLink* psl;
if(SUCCEEDED( CoCreateInstance(CLSID_ShellLink,NULL,CLSCTX_INPROC_SERVER,IID_IShellLink,(LPVOID*) &psl)))
{
psl->SetPath(StrFileName.c_str());
IPersistFile* ppf;
if (SUCCEEDED(psl->QueryInterface( IID_IPersistFile, (LPVOID *) &ppf)))
{
WCHAR wsz[MAX_PATH];
MultiByteToWideChar(CP_THREAD_ACP, MB_PRECOMPOSED, StrDestDir.c_str(), -1, wsz,MAX_PATH);
if ( SUCCEEDED ( ppf->Save(wsz, TRUE) ) )
{
MessageBox(Handle,"快捷方式创建成功!","信息提示",MB_OK+MB_ICONWARNING);
}
ppf->Release();
return;
}
psl->Release();
}
MessageBox(Handle,"快捷方式创建失败!","信息提示",MB_OK+MB_ICONWARNING);
::CoUninitialize();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
if(this->OpenDialog1->Execute())
{
this->Edit1->Text=this->OpenDialog1->FileName;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{
this->Close();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -