VB6で開発しています。
ネットワークプリンタの名称を取得する良い方法があれば教えて頂けますか。
CommonDialogやSHBrowsForFolderを使用すればネットワークプリンタの「共有名」は取得できるのですが、取得したいのはそれではなくて「サーバー上から見た場合のプリンタ名そのもの」なのです。
例えばあるサーバー上に共有プリンタAが存在するとします。
このプリンタは
プリンタ名 :プリンタA
共有名 :printer
という風になっています。
同ネットワーク内に存在するクライアント1からこのプリンターを参照しようとした場合、エクスプローラーや、あるいは上記のSHBrowsForFolderを使用した簡単なアプリケーションでは「\\サーバー名\printer」という値が返ってきます。
でも「プリンタの追加ウィザード」でネットワークプリンタをインストールしようとするとちゃんと「プリンタA」と表示されます。
この「プリンタA」という情報が欲しいのです。
何かよい方法がありましたら教えて下さい。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
ご回答ありがとうございます。
参考URLからNetShareGetInfoを使用したサンプルPGを取ってきて試したところ、ひとまずプリンタ名の取得はできました。
どうもありがとうございました。
ただ引数「Level」の意味がいまいち不明です・・・。
サンプルでは「2」となっていますが、この状態でネットワーク上のサーバー名と共有名を渡すと値の取得に失敗します(関数の戻り値:2310)。自マシン上のプリンタ名のみ指定した場合は正常に動作します。
引数「1」を指定してあげればネットワーク上、ローカル共にプリンタ名の取得は可能だったのですが、プリンタキュー名が文字化けしたりします。
今NetShareGetInfoの引数の説明があるサイトを探しているところです。
No.4
- 回答日時:
失礼いたしました。
履歴をみてなかったので、返事が遅れました。環境がないので、どの構造体を使うかがはっきり報告できません。。。
NetShareEnum関数についても必要かどうかも名言できません。
しかしプリンタ名を知るには、OS別の処理を走らせるしかないように思います。
私ごとですが、以前にある人数以上のアクセスを受け付けないソフトの依頼をされたことがありました。
することはセッションの切断なのですが、これもまたNT系/95系で構造体&レベルが違いました。
セッションやネット系の関数はOSによって使用する構造体が違うようですね。
私にはこれ以上のアドバイスは難しいです。。。
環境さえあったら、、、正確なことが、、、言えるのですが、、、、
No.3
- 回答日時:
あそこにあったサンプルはNT系なのですが、もしかしてお使いのOSは95系では?
環境がないので正確には言えませんが、レベル1でエラーが返らないのであれば、SHARE_INFO_1構造体を使用する必要があります。
それで情報が足りないのであれば、レベル50でSHARE_INFO_50構造体(95系専用)の構造体を試したらいいかもしれません。
この回答への補足
ありがとうございます。
説明不足でしたね、申し訳ありません。
開発を行っているマシンは
OS :NT4.0
VB :6.0
です。
但し、このPG(というか機能)を使うのは98、NT、2000、XPなんですよ。
あれからまた調べた所、9X系で同様の事をするには「NetShareEnum95」とかを使う必要があるみたいですね。
SHARE_INFO_50構造体を使う時はこちらの関数ですよね?
OS毎に異なる処理をさせるのはあまり気が進まないので、この方法は諦めようかな~等と思案している所です。
何か良いアドバイスがありましたら宜しくお願いします<(_ _)>
No.2
- 回答日時:
間違っていたらすみません。
「通常使うプリンタ」に設定されている時に
Printer.DeviceName
で登録されている名前が取得できませんか?
Private Sub Command1_Click()
'MsgBox Printer.DeviceName
For Each pr In Printers
MsgBox pr.DeviceName
Next pr
End Sub
で登録されているプリンタの名前が取得できると思います。
ご回答ありがとうございます。
taisuke555さんゴメンナサイ!
私が今回使用したい機能は
「ネットワーク上に存在する(あるマシン上でネットワークインストールが可能な)プリンタの一覧を取得する」
ことなのです。
つまりこのPGが動作するマシン上にはプリンタがインストールされていない状態もありうるわけで。
まあ要するに前述したように、プリンタの追加ウィザードに出てくるような使用可能プリンタ一覧の情報、が取ってきたかったわけです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- プリンタ・スキャナー 「ネットワーク上にプリンタが見つかりませんでした」 5 2023/08/02 20:53
- ネットワーク ネットワーク構成図のアイコン素材のダウロードサイトでおすすめ教えてください 1 2022/06/03 05:09
- プリンタ・スキャナー もともとWi-Fi仕様ではないプリンタを、Wi-Fi経由で印刷できるようにできますか。 6 2022/06/24 21:32
- プリンタ・スキャナー 複合機プリンタではないプリンタの場合、スキャナーは単体で買わないといけないのですか。 複合機だと、何 6 2023/05/24 20:08
- プリンタ・スキャナー プリンタを無線化したい 7 2023/04/08 06:25
- セキュリティホール・脆弱性 テレワークで会社支給パソコン以外でVPN接続を制限するやり方 教えて下さい 3 2022/08/31 12:40
- プリンタ・スキャナー 佐川急便のプリンターで印刷用の送り状が印刷時に詰まる 2 2022/11/23 18:25
- プリンタ・スキャナー 印刷 キャンセル&印刷できない 2 2022/11/29 16:45
- USBメモリー・SDカード・フラッシュメモリー プリンタのドライバーをUSB Flash Diskに保存したい。 4 2023/05/23 23:30
- Word(ワード) Word文書のドラッグ操作による配置調整。 1 2022/10/16 19:24
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの余白の塗りつぶし方法
-
同機種のプリンターを買った場...
-
左右反転印刷は?
-
印刷プレビューにない文字が印...
-
印刷のマークが消えてしまった
-
EXCEL 印刷プレビューの後画面...
-
指定したプリンタと別のプリン...
-
印刷が途中のページで止まって...
-
ポート(COMとLPT)の表示について
-
離れた場所にあるプリンタにイ...
-
「指定したPPDは無効です」でプ...
-
IPアドレスの基礎知識
-
印刷しようとすると「保存」が...
-
セントロニクスとアンフェノー...
-
社内ネットワークのプリンタに...
-
アプリごとに通常使うプリンタ...
-
ネットワークプリンタの接続
-
VBAでExcelファイルのPDF自動化
-
プリンターのオフラインって・・・
-
プリンタ購入時にインクは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同機種のプリンターを買った場...
-
エクセルの余白の塗りつぶし方法
-
左右反転印刷は?
-
マクロでプリンタ、用紙、給紙...
-
印刷しようとすると「保存」が...
-
日本の複合機プリンタで、故障...
-
印刷プレビューにない文字が印...
-
プリンターについて
-
プリンタをBluetoothで無線化し...
-
エクセルでの袋とじ
-
エクセルの用紙サイズについて...
-
職場にジロジロ見てくる女性が...
-
ワードで背景を入れたのですが...
-
「指定したPPDは無効です」でプ...
-
ネットワークプリンタの接続
-
太文字が印刷されない。
-
プリンターが見つかるのに、接...
-
印刷のマークが消えてしまった
-
アプリ毎にデフォルトのプリン...
-
エクセル ファイルごとのプリ...
おすすめ情報