VisualStudio2010(VB)で、プログラミングをしています。
フォーム上のボタンをクリックすると、自分のユーザーにロックをかけて、別のユーザーに切り替えたいのですが、できるでしょうか。
詳しい流れはこちらです。
Form1のButton1をクリック→自分のユーザーをロックする(スタートメニューでいう「ユーザーの切り替え」)→別のユーザーでログオンする(パスワードあり)→プログラムを自動起動させる
ロックは、shutdown.exeを、プログラムを自動起動させるのは、ショートカットをスタートアップに作成する方法を取るつもりです。
自動でログオンする方法を教えてください。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
やっぱりスレ付きませんね。
なにせ、特定ユーザーからの投稿、みえみえで。そのうち、監視団(OKWeveたろう<=この世界で喜びをかんじている馬鹿)から、我慢しきれず、横槍がはいるかな。
まあ、それでもこの手のスレッドが結構ネットを探せばでてくる。いろいろ手はあるようだが、根本的な事をひとつ、
>Form1のButton1をクリック→自分のユーザーをロックする
これ、なんで必要ですか。目的は何ですか?
目的よってやり方が変わるのわかります?
説明しているようで、何をしたいのか書いてないんですよ。
目的その1。
そのユーザーのディスクトップを起動したい。つまりそのディストップ上で作業するので、ディスクトップ上にあるものにアクセスしたい。
目的その2。
そのユーザーで、プログラムを動作させたい。ディスクトップ上の物は特に関係ない。
(この中には、プログラムのマルチユーザー別に設置、更新、削除等のメンテナンスを目的もある)
どう。違いわかります。他にもあるかもしれませんが、大まかに言えば、こんなとこだろう。
いずれにせよ、UNIX系OSでは(Linuxを含む)、結構簡単なことでした。と言うのも、ユーザーだけでなくディスクトップも、他のマシンにあるユーザーホームを呼び出すのが普通だったので。
つまり、ユーザーの切り替えは、rlogin, su, telnet などでできます(コマンドベース)。しかし、そのままだと、ディスクトップにセキュリティーがかかっているし、表示先は、ログイン先のマシン。
じゃ、どうするか、DISPLAY と言う環境変数でマシンを指定すると、そこで起動するGUIのアプリは目の前に表示されます(コマンドオプションに対応している場合も)。
つまり、いちいち、ディスクトップから別のディスクトップにログインするなんて面倒な事はしません。
ではWindowsは?
Vistaから、明示的にできるようになった(前からあったが)。
>runas /user:[ユーザー名] [コマンド]
と言うものが用意されている。GUIでは、プロパティーに「だれで起動するか」がある。Shell APIで指定すればGUIから同じようにしてできる(Shift+右クリック)。
と言うことで、後術の目的はこれで達成できます。前述も、CMDなどそのユーザーで起動したものなら、ディスクトップにはフォルダーパス指定でアクセスできます。
UNIX系だとディスクトップに表示するには、環境変数などにおまじないを書かないと、セキュリティーが解除されないが、Windowsはその辺が甘い。
目的が、「GUIでユーザーの切り替えをしたい」だけなら、プログラムの実行ユーザーを、Systemにしないと無理。何せディストップから離れるという事は、アクティブユーザーをシステムに移行することなので、その時点で、エクセルの実行自体はバックグランドになり、制御をうしなう。なのでCUIレベルで、バックグランドで最初から、そのプロセスを行う必要がある。その辺わかるかな。
なので、Windowsについている自動実行の仕組みを使って行うしかない。
ヒントになったかな。ネットで検索してみよう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAのブックを開く方法...
-
【ExcelVBA】5万行以上のデー...
-
エクセルVBAで特定のセルの値を...
-
【ExcelVBA】dictionaryの重複...
-
VBAでセルの書式を変えずに文字...
-
エクセルでCDOを使ったメール送...
-
[Excel VBA]特定の条件で文字を...
-
エクセルのマクロについて教え...
-
【VBA】 結合セルに複数画像と...
-
【VBA】値を変更しながら連続で...
-
エクセル タブの下のメニューを...
-
VBA 入力箇所指定方法
-
EXCEL vbaでシート上に配置した...
-
vba 別ブックに転記
-
VBA 別ブックからコピペしたい...
-
Outlookの「受信日時」「件名」...
-
【VBA】スペースが入っていない...
-
Web画面の文字をVB6で取得したい
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TeraTermマクロの”Link...
-
Windowsが起動しなくなってしま...
-
コマンドボタンのキャプション...
-
信長の野望 革新について
-
C#からvbsを実行したい
-
タイマーマクロの二重起動防止...
-
audiveris(pdf楽譜を読み込む...
-
Java デスクトップアイコン変更
-
実行プログラム名の取得
-
Media Gallery?勝手に起動
-
jdk17.06のインストーラーが起...
-
コマンドプロンプトのERRORLEVE...
-
VBでWindowsをログオフ・ログオ...
-
HP-UXのシステム起動時からの時...
-
VBAカウントダウンタイマーの2...
-
ACCESS2007のコマンドライン引...
-
ゆっくりムービーメーカーのエ...
-
Apache2.2起動しない・・・助け...
-
Webアプリから起動した実行ファ...
-
ACCESSのネットワーク環境でMDB...
おすすめ情報