C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: API の使用方法について


(過去ログ 54 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■30594 / inTopicNo.1)  API の使用方法について
  
□投稿者/ YOU (38回)-(2008/12/27(Sat) 13:37:06)

分類:[.NET 全般] 

VisualStdio .net 2008 C#


Windowsサービスから実行exeファイルを起動するために
APIのCreateProcessWithLogonW()を使用したいと思うのですが
サンプル等ご存知の方いらっしゃいましたら
ご教授お願いします。


引用返信 編集キー/
■30595 / inTopicNo.2)  Re[1]: API の使用方法について
□投稿者/ MOTO (5回)-(2008/12/27(Sat) 14:13:28)
MOTO さんの Web サイト
No30594 (YOU さん) に返信
こんにちは、YOUさん。

わたしもCreateProcessWithLogonW関数は使用したことがありませんが、
下記URLに関数の説明とPInvokeでの実装方法が記載されておりますので、
参照してみてはいかがでしょうか?(V^−°)

関数の説明:
http://msdn.microsoft.com/ja-jp/library/cc429072.aspx

PInvokeのシグネチャとサンプル:
http://www.pinvoke.net/default.aspx/advapi32/CreateProcessWithLogonW.html

引用返信 編集キー/
■30596 / inTopicNo.3)  Re[2]: API の使用方法について
□投稿者/ やじゅ (893回)-(2008/12/27(Sat) 14:49:08)
やじゅ さんの Web サイト
> ■No30594 (YOU さん) に返信

「CreateProcessWithLogonW .NET」で検索すれば、
掲示板で聞くまでもなく、サンプルソースは出てくる思うんですけど


CreateProcessWithLogonW
http://www.pinvoke.net/default.aspx/advapi32/CreateProcessWithLogonW.html

.NETでWin32APIの呼び出し(P/Invoke)に迷ったら・・・・
http://blogs.wankuma.com/hirom/archive/2007/01/22/57804.aspx

How to call CreateProcessWithLogonW & CreateProcessAsUser in .NET
http://blogs.msdn.com/alejacma/archive/2007/12/20/how-to-call-createprocesswithlogonw-createprocessasuser-in-net.aspx

Windowsサービスから指定したユーザーでプロセスを起動する(解決編)
http://minoproject.asablo.jp/blog/2007/12/14/2512666

別アカウントでCreateProcessをする方法
http://w-it.jp/pirlo21/2006/12/createprocess.html

別アカウントでプロセスを起動する方法 VB.NET
http://msdn.microsoft.com/ja-jp/library/cc440886.aspx
引用返信 編集キー/
■30598 / inTopicNo.4)  Re[3]: API の使用方法について
□投稿者/ YOU (39回)-(2008/12/27(Sat) 16:38:06)
No30596 (やじゅ さん) に返信
>>■No30594 (YOU さん) に返信
>
> 「CreateProcessWithLogonW .NET」で検索すれば、
> 掲示板で聞くまでもなく、サンプルソースは出てくる思うんですけど
>
>
> CreateProcessWithLogonW
> http://www.pinvoke.net/default.aspx/advapi32/CreateProcessWithLogonW.html
>
> .NETでWin32APIの呼び出し(P/Invoke)に迷ったら・・・・
> http://blogs.wankuma.com/hirom/archive/2007/01/22/57804.aspx
>
> How to call CreateProcessWithLogonW & CreateProcessAsUser in .NET
> http://blogs.msdn.com/alejacma/archive/2007/12/20/how-to-call-createprocesswithlogonw-createprocessasuser-in-net.aspx
>
> Windowsサービスから指定したユーザーでプロセスを起動する(解決編)
> http://minoproject.asablo.jp/blog/2007/12/14/2512666
>
> 別アカウントでCreateProcessをする方法
> http://w-it.jp/pirlo21/2006/12/createprocess.html
>
> 別アカウントでプロセスを起動する方法 VB.NET
> http://msdn.microsoft.com/ja-jp/library/cc440886.aspx
MOTOさん、やじゅさんご親切にありがとうございます。
リンクを参照し、やってみます。




引用返信 編集キー/
■30601 / inTopicNo.5)  Re[4]: API の使用方法について
□投稿者/ YOU (40回)-(2008/12/27(Sat) 19:47:32)
No30598 (YOU さん) に返信
> ■No30596 (やじゅ さん) に返信
> >>■No30594 (YOU さん) に返信
>>
>>「CreateProcessWithLogonW .NET」で検索すれば、
>>掲示板で聞くまでもなく、サンプルソースは出てくる思うんですけど
>>
>>
>>CreateProcessWithLogonW
>>http://www.pinvoke.net/default.aspx/advapi32/CreateProcessWithLogonW.html
>>
>>.NETでWin32APIの呼び出し(P/Invoke)に迷ったら・・・・
>>http://blogs.wankuma.com/hirom/archive/2007/01/22/57804.aspx
>>
>>How to call CreateProcessWithLogonW & CreateProcessAsUser in .NET
>>http://blogs.msdn.com/alejacma/archive/2007/12/20/how-to-call-createprocesswithlogonw-createprocessasuser-in-net.aspx
>>
>>Windowsサービスから指定したユーザーでプロセスを起動する(解決編)
>>http://minoproject.asablo.jp/blog/2007/12/14/2512666
>>
>>別アカウントでCreateProcessをする方法
>>http://w-it.jp/pirlo21/2006/12/createprocess.html
>>
>>別アカウントでプロセスを起動する方法 VB.NET
>>http://msdn.microsoft.com/ja-jp/library/cc440886.aspx
> MOTOさん、やじゅさんご親切にありがとうございます。
> リンクを参照し、やってみます。
>

>>Windowsサービスから指定したユーザーでプロセスを起動する(解決編)
>>http://minoproject.asablo.jp/blog/2007/12/14/2512666
を参考にサンプルをwindowsサービスに移植してみたのですが
エラーになってしまいました。
コンソールアプリケーションではうまく動きました。
Windowsサービスでやるとerror #5がでているのですが、原因がよくわかりません。
どなたか知っている方が
いらっしゃいましたらご教授ください。


引用返信 編集キー/
■30603 / inTopicNo.6)  Re[5]: API の使用方法について
□投稿者/ YOU (41回)-(2008/12/27(Sat) 20:23:14)
閲覧でWindowsサービスでCreateProcessWithLongonW()を使用する場合は、
serviceProcessInstallのAccountプロパティの値をLocalSystemでは動作しないと記載されていました。
現在、serviceProcessInstallのAccountプロパティの値がLocalSystemになっていたため、
userに変更したのですが、installutilでサービスを登録すると、アカウントの画面が表示されました。
CreateProcessWithLongonW()にセットしているユーザとパスワードをいれたのですがロールバックしてしまいます。
アカウントの登録は、どこで登録すればいいのでしょうか?
どなたかご教授お願いいたします。


引用返信 編集キー/
■30676 / inTopicNo.7)  Re[6]: API の使用方法について
□投稿者/ mino (1回)-(2009/01/01(Thu) 21:55:09)
No30603 (YOU さん) に返信
> 閲覧でWindowsサービスでCreateProcessWithLongonW()を使用する場合は、
> serviceProcessInstallのAccountプロパティの値をLocalSystemでは動作しないと記載されていました。
> 現在、serviceProcessInstallのAccountプロパティの値がLocalSystemになっていたため、
> userに変更したのですが、installutilでサービスを登録すると、アカウントの画面が表示されました。
> CreateProcessWithLongonW()にセットしているユーザとパスワードをいれたのですがロールバックしてしまいます。
> アカウントの登録は、どこで登録すればいいのでしょうか?
> どなたかご教授お願いいたします。
>
>

CreateProcessWithLongonWはVista以降でUACがオンの状態ではうまく動きませんでした。
代わりに以下のページの方法ではどうでしょうか。これならUACオンでも動作します。

http://www.codeproject.com/KB/vista-security/VistaSessions.aspx

下の方のコメントのところにC#のソースコードへのリンクもあります。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -