DLL の動的利用

  UNLHA.DLL



  
typedef UINT (CALLBACK* LPFUNC)(
   const HWND _hwnd, 
   LPCSTR _szCmdLine,
   LPSTR _szOutput, 
   const DWORD _dwSize
);
//************************************************************
// UNLHA32.DLL の呼び出し
//************************************************************
STDMETHODIMP CLoadlib::Unlha(BSTR CmdLine, BSTR *pVal)
{
	HINSTANCE	lib;
	LPFUNC		Lha;

	lib = LoadLibrary( "UNLHA32.DLL" );
	if ( lib == NULL ) {
			*pVal = A2BSTR("error	unlha32.dll LoadLibrary");
			return S_OK;
	}

	Lha = (LPFUNC)GetProcAddress( lib, "Unlha" );
	if ( Lha == NULL ) {
			FreeLibrary( lib );
			*pVal = A2BSTR("error	unlha32.dll GetProcAddress");
			return S_OK;
	}

	USES_CONVERSION;
	LPCSTR szCmdLine = OLE2T(CmdLine);

	char *ret = new char[4096]; 

	Lha(NULL, szCmdLine, ret, 4096 );
	FreeLibrary( lib );

	*pVal = A2BSTR( ret );
	delete [] ret;

	return S_OK;
}
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ