重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

現在,unlha32.dllを使用した,解凍プログラムを作成中です。
unlha32.dllが存在しないパソコンには,システムディレクトリにdllをコピーして実行するわけですが,WinNT,Win2000などでは,管理者以外は,システムディレクトリへの書込みが出来ません。

そこで,システムディレクトリ以外のディレクトリにコピーして,それをVBから呼び出す,というかたちを考えているのですが,どのようにしたら良いのか分かりません。よろしければ,教えて頂けないでしょうか?

ただし,unlha32.dllを使用していることを,利用者に知られたく無いので,
事前にインストールしてもらうという手は使えません。

どうか,よろしくお願いします。

A 回答 (2件)

> 1:マニュアル等での UNLHA(32).DLL の著作権表示


>
>  LHA.EXE の条件に,

> ただし,unlha32.dllを使用していることを,利用者に知られたく無いので,
> 事前にインストールしてもらうという手は使えません。

それ、NGです。unlha32.dllの二次利用条件に下記のように記載されてますので。

>
> | 6. 雑誌・商品などに添付して再配布する場合には、少なくとも1か所に
> | 著作権表示を印刷(タイプ)すること。
>
> という条項があり,原作者の権利を守るためにも,移植物である UNLHA.DLL,
> UNLHA32.DLL についても同様の表示が必要であると判断し, 同様の著作権表
> 示をお願いしています。

著作権という概念はご存知でしょうか?

# このページをUNLHA32.DLLの作者に連絡してもよろしいでしょうか?(笑
# (^^;
    • good
    • 0
この回答へのお礼

> # このページをUNLHA32.DLLの作者に連絡してもよろしいでしょうか?(笑
> # (^^;

う~ん,そいつはまずいッスね。

フリーの物だったので,そのあたりのことを失念しておりました。
もともとは,インストーラを作成するにあたって,
色々考えているうちに,この方法に至ったのですが,
この方法はやめます。

回答してくださり,どうも有り難うございました。

お礼日時:2003/02/21 22:27

・同一ディレクトリにDLLをおく。


・pathの通った場所にDLLをおく。
・DLLのある場所へのpathを追加する。

と、いうか管理者以外アクセスできないとこにおかなきゃならないなら
管理者にインストールさせるのが普通。
ユーザ権限でunlha32.dll(lhaの展開用だよね?)なんかをインストール
できるアプリなら企業のシステム管理部門から言わせれば
「極悪アプリ」
と呼ばれたりしますけど...

この回答への補足

どうも,回答ありがとうございます。

普通にシステムディレクトリに入っているDLLファイルなら

Private Declare Function Unlha Lib "UNLHA32.DLL" (ByVal Callhwnd As Long, ByVal LHACommand As String, ByVal RetBuff As String, ByVal RetBuffSize As Long) As Long

と宣言した後に

Dim Ret As String * 255
Dim SendStr As String

SendStr = "e -n " + Chr(34) + App.path + "\" + "mohao.lzh" + Chr(34) + " " + Chr(34) + "D:\My Documents\mohao\" + Chr(34)

UnlhaSetCursorMode False
UnlhaSetBackGroundMode True
Unlha frmPass.hWnd, SendStr, Ret, 255 'UnLHA実行

と記述すれば良いと思うのですが,
システムディレクトリ以外の場所にDLLがある場合には,どのような記述をしたら良いのでしょうか?

目的は,unlha32.dllをインストールするのではなく,
unlha32.dllを利用して,別の圧縮ファイルを解凍したいのです。
処理の後,unlha32.dllを削除します。

補足日時:2003/02/21 16:59
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!