掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB6で保護モードAPIを動かすには? (ID:103075)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
開発環境:VB6SP6、Windows7です。 ActiveXコントロールの開発を行っています。 IEShowSaveFileDialog Function http://msdn.microsoft.com/en-us/library/ms537318(v=VS.85).aspx 保護モード API の概要 http://msdn.microsoft.com/ja-jp/library/dd163925.aspx 上記URLの保護モードでのファイルの保存を実装しようとしているのですが、 IEShowSaveFileDialog関数がE_ACCESSDENIEDを返してしまい、 ファイルの保存まで進めません。 エラーが「アクセス拒否」なので、フォルダ指定が間違っているのかと 思っていろいろ試しましたが、エラーの内容は変わりませんでした。 IEIsProtectedModeProcess関数は動作するので、保護モードAPIが 使えない環境という訳ではないようです。 Declare文も以下の内容で大丈夫だと思うのですが・・・。 何かご指摘が頂けると大変有難いです。 以上、よろしくお願いいたします。 ------------ソース-------------- Private Const OFN_OVERWRITEPROMPT = &H2 '既存のファイル名を指定した時にメッセージを出す Private Const S_OK = &H0 Private Const S_FALSE = &H1 '保護モードAPI Private Declare Function IESaveFile Lib "Ieframe.dll" (ByVal hstate As Long, ByVal sourceFile As String) As Long Private Declare Function IEShowSaveFileDialog Lib "Ieframe.dll" _ (ByVal hwnd As Long, _ ByVal initialFileName As String, _ ByVal initialDir As String, _ ByVal fileFilter As String, _ ByVal defExtention As String, _ ByVal filterIndex As Long, _ ByVal flag As Long, _ ByRef filePath As String, _ ByRef handle As Long) As Long Private Declare Function IEIsProtectedModeProcess Lib "Ieframe.dll" (ByRef result As Long) As Long Private Sub Command1_Click() Dim handle As Long Dim outDir As String Dim rv As Long Dim lpszExt As String Dim lpszDefExt As String lpszExt = "All Files|*.bmp|" lpszDefExt = "bmp" rv = S_FALSE rv = IEShowSaveFileDialog( _ vbNull, _ "", _ "C:\", _ lpszExt, _ lpszDefExt, _ 1, _ OFN_OVERWRITEPROMPT, _ outDir, _ handle) MsgBox rv & ":" & outDir & ":" & handle & vbCrLf & "rv outDir handle" End Sub
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.