以前、「OSに対応したフォルダの共有化について」というタイトル?で
質問したことがあるのですが、お陰さまで、9割完成しました。
その節は、お世話になりました。
さて、あと1割の未完成のところですが、その共有化がどうしても
失敗した時にユーザー自身に設定してもらいたいと考えています。
そこで、APIのShellExecuteEXを使って、フォルダプロパティーの
ダイアログを開いてしてもらおうと思ったのですが、フォルダ
プロパティーダイアログには、3つの「全般」,「共有」,「カスタマイズ」というタブがあり、ダイアログ表示時には、「全般」が選択されています。
これを「共有」タブが一番初めに表示されるように、色々考えたのですが
VBが強制終了する次第で…。APIの中身をいじくるには、まだ未熟です。
どうか、少しでもお分かりになる方、教えて下さい。お願いします。@_@
Dim ShellInfo As SHELLEXECUTEINFO
With ShellInfo
.cbSize = Len(ShellInfo)
.fMask = SEE_MASK_NOCLOSEPROCESS _
Or SEE_MASK_INVOKEIDLIST _
Or SEE_MASK_FLAG_NO_UI
.hwnd = Me.hwnd
.lpVerb = "properties" & vbNullChar
.lpFile = vbNullChar
.lpParameters = vbNullChar
.lpDirectory = App.Path & "\" & vbNullChar
.nShow = 0
.hInstApp = 0
.lpIDList = 0
End With
Ret = ShellExecuteEX(ShellInfo) 'NOTHING
誰か助けて下さい。やっぱり、無理なのかな〜。=_=;
>誰か助けて下さい。やっぱり、無理なのかな〜。=_=;
深く考えずに
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
とかやっておいて、
Ret = ShellExecuteEX(ShellInfo) 'NOTHING
のあと
Sleep 100
SendKeys "{TAB}"
SendKeys "{TAB}"
SendKeys "{TAB}"
SendKeys "{TAB}"
SendKeys "{TAB}"
SendKeys "{RIGHT}"
SendKeys "{RIGHT}"
とかやったらどうでしょう?
どうも、Sayさんありがとうございます!!
実は、私もSendkeysを使ったのですが、何も反応しなかったんです。
でも、Sleepすれば良かったんですね。(-,-) zzz
本当に助かりました。また頑張れます。心から有難うございました。mo_om
解決しましたが、あるHPに書いてあったので報告です。
共有タブの選択は下記の通りでした。
ShellInfo.lpParameters = "共有"
お休みなさい。=_= zzz
ツイート | ![]() |