메뉴 닫기

윈도우 서비스 프로그램에서 메세지 BOX

서비스의 윈도우는 로그온 한 윈도우와 다르기 때문에 사용자들은 화면을 볼 수 없다. 서비스에 서 구동 되는 UI가 보여 지려면 로그인 윈도우를 가져와야 한다.

서비스프로그램 화면 이해 보기

로그온 화면을 관리하는 winlogon desktop, 화면보호기를 담당하는 screen saver desktop, 평상시 윈도우 화면을 보여주는 interactive desktop 3가지로 나눠진다.
사용자가 로그온을 하게 되면 WinSta0\Winlogon 에서 smss.exe(세션메니져), winlogon.exe, msgina.dll 를 통해 일련의 logon 작업을 거쳐
최종적으로 Winst0\default 라는 interactive window station을 생성한다.
그러므로 사용자는 Winsta0의 station에서만이 UI 및 키입력을 받을 수 있다.
서비스 프로그램에서 Message Box도 보여지지 않는다. 백그라운드에서 동작하기 때문에 서비스 프로그램의 메세지도 확인 할 수 없다.

서빗스 옵션에서 ‘서비스와 데스크톱 상호작용허용’ 이 적용 되었을 때, 서비스에 메제지가 발생하며 ‘메시지 표시’ 버튼을 눌러야만 서비스 화면을 볼 수 있는 것이다.
‘서비스와 데스크톱 상호작용허용’이 되어 있지 않으면 서비스 화면은 볼 수가 없다.

WinApi 를 이용해서 Winst0\default Sation으로 전환 코드예 보기

아래의 코드는 서비스 프로그램에서 로그인되어 있는 윈도우 Station의 응용프로그램을 실행시키고 UI를 보여 줄 수 있도록 만들어진 것이며 실제 정상 동작하는 것을 확인한 코드이다.
전체가 소개되지 않고 실제 동작에 해당하는 일부 코드만 표시 했다

public bool ExcuteProcess()
{
            if (!IsReady()) return true;
            WriteLog("ExcuteProcess");
            /***********/
            String AppName = FullExeName;
            //String AppName = "notepad.exe";
            WInAPI.PROCESS_INFORMATION procInfo;
            WInAPI.StartProcessAndBypassUAC(AppName, out procInfo);
}
public static bool StartProcessAndBypassUAC(String applicationName, out PROCESS_INFORMATION procInfo)
{
            uint winlogonPid = 0;
            IntPtr hUserTokenDup = IntPtr.Zero, hPToken = IntPtr.Zero, hProcess = IntPtr.Zero;
            procInfo = new PROCESS_INFORMATION();
            // obtain the currently active session id; every logged on user in the system has a unique session id
            uint dwSessionId = WTSGetActiveConsoleSessionId();
            // obtain the process id of the winlogon process that is running within the currently active session
            Process[] processes = Process.GetProcessesByName("winlogon");
            foreach (Process p in processes)
            {
                if ((uint)p.SessionId == dwSessionId)
                {
                    winlogonPid = (uint)p.Id;
                }
            }
            // obtain a handle to the winlogon process
            hProcess = OpenProcess(MAXIMUM_ALLOWED, false, winlogonPid);
            if (hProcess.ToInt32()!=0)//0이면 서비스 모드가 아니기 때문에
            {
                // obtain a handle to the access token of the winlogon process
                if (!OpenProcessToken(hProcess, TOKEN_DUPLICATE, ref hPToken))
                {
                    CloseHandle(hProcess);
                    return false;
                }
            }
            // Security attibute structure used in DuplicateTokenEx and CreateProcessAsUser
            // I would prefer to not have to use a security attribute variable and to just
            // simply pass null and inherit (by default) the security attributes
            // of the existing token. However, in C# structures are value types and therefore
            // cannot be assigned the null value.
            SECURITY_ATTRIBUTES sa = new SECURITY_ATTRIBUTES();
            sa.Length = Marshal.SizeOf(sa);
            if (hPToken.ToInt32() != 0)
            {
                // copy the access token of the winlogon process; the newly created token will be a primary token
                if (!DuplicateTokenEx(hPToken, MAXIMUM_ALLOWED, ref sa, (int)SECURITY_IMPERSONATION_LEVEL.SecurityIdentification, (int)TOKEN_TYPE.TokenPrimary, ref hUserTokenDup))
                {
                    CloseHandle(hProcess);
                    CloseHandle(hPToken);
                    return false;
                }
            }
            // By default CreateProcessAsUser creates a process on a non-interactive window station, meaning
            // the window station has a desktop that is invisible and the process is incapable of receiving
            // user input. To remedy this we set the lpDesktop parameter to indicate we want to enable user
            // interaction with the new process.
            STARTUPINFO si = new STARTUPINFO();
            si.cb = (int)Marshal.SizeOf(si);
            si.lpDesktop = @"winsta0\default"; // interactive window station parameter; basically this indicates that the process created can display a GUI on the desktop
            // flags that specify the priority and creation method of the process
            int dwCreationFlags = NORMAL_PRIORITY_CLASS | CREATE_NEW_CONSOLE;
            // create a new process in the current user's logon session
            bool result = CreateProcessAsUser(hUserTokenDup,        // client's access token
                                            null,                   // file to execute
                                            applicationName,        // command line
                                            ref sa,                 // pointer to process SECURITY_ATTRIBUTES
                                            ref sa,                 // pointer to thread SECURITY_ATTRIBUTES
                                            false,                  // handles are not inheritable
                                            dwCreationFlags,        // creation flags
                                            IntPtr.Zero,            // pointer to new environment block
                                            null,                   // name of current directory
                                            ref si,                 // pointer to STARTUPINFO structure
                                            out procInfo            // receives information about new process
                                            );
            // invalidate the handles
            CloseHandle(hProcess);
            CloseHandle(hPToken);
            CloseHandle(hUserTokenDup);
            return result; // return the result
 }

앞의 과정을 검토 하고 정상적으로 서비스프로그램에서 로그온한 사용자의 윈도우 Station에 UI를 보이게 하더라도 메세지 박스는 역시 LocalSystem의 백그라운드에서 동작 하므로 메세지 박스가 보이지 않는다.
이럴때 API를 이이용해서 WTSGetActiveConsoleSessionId();를 구해서 WTSSendMessage(WTS_CURRENT_SERVER_HANDLE, (int)currentSessId…. 를 실행하면 MessageBox를 출력 할 수가 있다.

public static IntPtr WTS_CURRENT_SERVER_HANDLE = IntPtr.Zero;
public static int WTS_CURRENT_SESSION = -1;
public void Test()
{
  bool result = false;
  string title = "Hello";
  int tlen = title.Length;
  string msg = "Terminal Service!";
  int mlen = msg.Length;
  int resp = 0;
  uint currentSessId = WInAPI.WTSGetActiveConsoleSessionId();
  result = WInAPI.WTSSendMessage(WTS_CURRENT_SERVER_HANDLE, (int)currentSessId, title, tlen, msg, mlen, 0, 0, out resp, true);
  int err = Marshal.GetLastWin32Error();
}

290 Comments

  1. Man Rittichier

    I simply want to mention I am new to blogging and actually enjoyed you’re web page. Most likely I’m planning to bookmark your site . You really have wonderful writings. Cheers for sharing with us your website.

  2. generic viagra

    A fascinating discussion deserves comment. I assume that you should create more on this topic, it might not be a taboo subject however normally individuals are not enough to speak on such subjects. To the next. Thanks

  3. web hosting reviews

    I was extremely pleased to uncover this great site.

    I wanted to thank you for ones time for this particularly fantastic read!!
    I definitely enjoyed every bit of it and i also have you book marked to check out new
    stuff on your site.

  4. index

    Can I just state what an alleviation to find somebody that really understands what theyre talking about on the web. You absolutely recognize just how to bring a problem to light and make it essential. Even more individuals need to read this as well as understand this side of the story. I cant think youre not extra preferred since you most definitely have the present.

  5. Google

    Next time I read a blog, Hopefully it doesn’t fail me as much as this one. I mean, I know it was my choice to read, nonetheless I truly believed you would have something useful to talk about. All I hear is a bunch of moaning about something you could fix if you weren’t too busy searching for attention.

  6. Melia Glazier

    When I originally commented I clicked the -Inform me when brand-new remarks are included- checkbox and currently each time a comment is added I get 4 emails with the exact same comment. Is there any way you can eliminate me from that service? Thanks!

  7. patenqq

    After looking at a few of the blog articles on your blog, I truly appreciate your way of writing a blog. I book-marked it to my bookmark website list and will be checking back soon. Please visit my web site too and let me know what you think.

  8. cairqq

    I’m impressed, I must say. Rarely do I encounter a blog that’s equally educative and interesting, and without a doubt, you have hit the nail on the head. The issue is an issue that too few men and women are speaking intelligently about. I’m very happy I found this in my hunt for something regarding this.

  9. mandiriqq

    You are so interesting! I don’t think I have read anything like this before. So great to find another person with a few genuine thoughts on this topic. Seriously.. thanks for starting this up. This website is something that’s needed on the internet, someone with a little originality!

  10. vipmandiriqq

    Right here is the right site for anyone who would like to understand this topic. You realize a whole lot its almost tough to argue with you (not that I really would want to…HaHa). You definitely put a brand new spin on a topic that’s been discussed for decades. Wonderful stuff, just excellent!

  11. pulsa poker

    You’re so awesome! I do not think I’ve read something like this before. So nice to discover someone with some unique thoughts on this topic. Seriously.. thank you for starting this up. This web site is one thing that’s needed on the web, someone with a little originality!

  12. aplikasi dingdongtogel

    I seriously love your site.. Pleasant colors & theme. Did you make this web site yourself? Please reply back as I’m wanting to create my very own blog and would like to find out where you got this from or what the theme is called. Thanks!

  13. dingdong togel daftar

    An impressive share! I have just forwarded this onto a friend who has been conducting a little homework on this. And he actually bought me breakfast simply because I stumbled upon it for him… lol. So let me reword this…. Thanks for the meal!! But yeah, thanx for spending the time to discuss this matter here on your website.

  14. dingdong online

    An interesting discussion is worth comment. There’s no doubt that that you need to publish more about this topic, it may not be a taboo matter but generally people do not speak about such subjects. To the next! Kind regards!!

  15. togel wap hk

    An impressive share! I have just forwarded this onto a colleague who was conducting a little research on this. And he actually ordered me lunch because I found it for him… lol. So let me reword this…. Thanks for the meal!! But yeah, thanks for spending some time to talk about this subject here on your web site.

  16. dingdong 12d

    Hi there, I do believe your blog may be having internet browser compatibility issues. When I look at your site in Safari, it looks fine however, if opening in IE, it’s got some overlapping issues. I just wanted to give you a quick heads up! Apart from that, wonderful site!

  17. web hosting company

    Great beat ! I would like to apprentice while you amend your site, how could i subscribe for a blog site?
    The account helped me a acceptable deal. I had been a little bit acquainted of this your broadcast
    provided bright clear concept

  18. Agen Sbobet999

    An outstanding share! I’ve just forwarded this onto a friend who has been doing a little homework on this. And he actually ordered me breakfast simply because I discovered it for him… lol. So allow me to reword this…. Thanks for the meal!! But yeah, thanks for spending time to talk about this matter here on your site.

  19. Bet88 Online

    Can I simply just say what a relief to discover someone who actually understands what they are talking about on the internet. You definitely understand how to bring an issue to light and make it important. More people must read this and understand this side of the story. I was surprised that you are not more popular because you most certainly possess the gift.

  20. totobet login

    An outstanding share! I’ve just forwarded this onto a coworker who had been conducting a little homework on this. And he actually bought me dinner simply because I discovered it for him… lol. So let me reword this…. Thanks for the meal!! But yeah, thanx for spending some time to talk about this topic here on your blog.

  21. SMK3 Perusahaan

    After I originally left a comment I seem to have clicked on the -Notify me when new comments are added- checkbox and now whenever a comment is added I get four emails with the exact same comment. Perhaps there is an easy method you are able to remove me from that service? Many thanks!

  22. Reza Lukmana

    I blog quite often and I genuinely appreciate your information. This article has really peaked my interest. I am going to take a note of your site and keep checking for new information about once per week. I subscribed to your Feed too.

  23. sbobet777 login

    After I originally commented I appear to have clicked the -Notify me when new comments are added- checkbox and from now on each time a comment is added I receive four emails with the exact same comment. There has to be an easy method you are able to remove me from that service? Thanks a lot!

  24. trang lo de online uy tin k8loto

    Next time I read a blog, I hope that it won’t fail me just as much as this particular one. I mean, I know it was my choice to read through, but I genuinely believed you would probably have something useful to talk about. All I hear is a bunch of crying about something that you can fix if you weren’t too busy seeking attention.

  25. soi cau thethaobet

    You are so interesting! I don’t think I’ve truly read something like this before. So good to discover someone with a few genuine thoughts on this topic. Really.. many thanks for starting this up. This website is one thing that’s needed on the web, someone with some originality!

  26. trang soi cau tong hop 188xoso

    Hi there! This article couldn’t be written any better! Going through this post reminds me of my previous roommate! He continually kept preaching about this. I most certainly will send this information to him. Fairly certain he’ll have a great read. Thanks for sharing!

  27. cara daftar joker123

    Right here is the right blog for anyone who really wants to find out about this topic. You know a whole lot its almost hard to argue with you (not that I personally will need to…HaHa). You certainly put a new spin on a subject that’s been written about for many years. Great stuff, just wonderful!

  28. download joker123

    Oh my goodness! Impressive article dude! Many thanks, However I am going through problems with your RSS. I don’t understand the reason why I am unable to join it. Is there anybody else having the same RSS issues? Anyone that knows the answer will you kindly respond? Thanks!!

  29. Slot Pulsa Online

    Having read this I thought it was really enlightening. I appreciate you spending some time and effort to put this short article together. I once again find myself spending way too much time both reading and posting comments. But so what, it was still worth it!

  30. joker apk

    I seriously love your site.. Excellent colors & theme. Did you create this website yourself? Please reply back as I’m attempting to create my own personal website and would like to learn where you got this from or exactly what the theme is named. Kudos!

  31. idn poker asia 88

    I’m impressed, I must say. Seldom do I encounter a blog that’s both educative and engaging, and without a doubt, you have hit the nail on the head. The issue is something which not enough men and women are speaking intelligently about. I’m very happy I stumbled across this in my hunt for something regarding this.

  32. poker88 idn

    Hello there, I think your blog could be having internet browser compatibility problems. Whenever I take a look at your web site in Safari, it looks fine however, when opening in IE, it’s got some overlapping issues. I merely wanted to give you a quick heads up! Apart from that, great website!

  33. aplikasi idn poker

    Hello there! This post couldn’t be written much better! Looking through this post reminds me of my previous roommate! He constantly kept talking about this. I will send this post to him. Fairly certain he’ll have a great read. I appreciate you for sharing!

  34. joker123 download

    The very next time I read a blog, I hope that it does not disappoint me as much as this particular one. I mean, Yes, it was my choice to read through, but I really believed you would have something useful to say. All I hear is a bunch of moaning about something you could possibly fix if you weren’t too busy searching for attention.

  35. link alternatif joker123

    I’d like to thank you for the efforts you have put in penning this site. I’m hoping to see the same high-grade blog posts from you later on as well. In truth, your creative writing abilities has motivated me to get my own, personal blog now 😉

  36. talks about it

    Can I just claim what an alleviation to locate somebody who in fact recognizes what theyre discussing on the net. You most definitely know exactly how to bring a concern to light as well as make it important. More individuals need to read this and recognize this side of the tale. I angle believe youre not more prominent since you definitely have the present.

  37. Bandarqq

    Having read this I believed it was really enlightening. I appreciate you taking the time and energy to put this short article together. I once again find myself spending a significant amount of time both reading and posting comments. But so what, it was still worthwhile!

  38. Bandar togel Online

    An impressive share! I have just forwarded this onto a colleague who had been doing a little research on this. And he in fact ordered me lunch because I stumbled upon it for him… lol. So let me reword this…. Thanks for the meal!! But yeah, thanx for spending time to talk about this issue here on your web site.

  39. aplikasi idn poker

    After I initially left a comment I seem to have clicked on the -Notify me when new comments are added- checkbox and now whenever a comment is added I receive 4 emails with the exact same comment. Perhaps there is a means you can remove me from that service? Thanks a lot!

  40. kunjungi situs rekomenqq

    Having read this I believed it was very enlightening. I appreciate you spending some time and effort to put this short article together. I once again find myself spending a lot of time both reading and commenting. But so what, it was still worthwhile!

  41. kayak storage ideas garage

    Right here is the right blog for anybody who would like to find out about this topic. You realize so much its almost tough to argue with you (not that I personally would want to…HaHa). You certainly put a new spin on a subject which has been discussed for years. Great stuff, just excellent!

  42. dingdong online

    You are so cool! I do not suppose I have read something like that before. So great to discover somebody with original thoughts on this subject matter. Really.. many thanks for starting this up. This site is something that is needed on the internet, someone with some originality!

  43. dingdong 34d

    May I simply say what a comfort to uncover someone who actually understands what they are talking about on the internet. You actually understand how to bring an issue to light and make it important. A lot more people need to check this out and understand this side of your story. I was surprised you’re not more popular since you definitely have the gift.

  44. kelasjudi

    I absolutely love your website.. Excellent colors & theme. Did you develop this website yourself? Please reply back as I’m planning to create my own site and want to find out where you got this from or what the theme is called. Appreciate it!

  45. rs primaya

    I was extremely pleased to uncover this page. I want to to thank you for ones time for this particularly wonderful read!! I definitely loved every little bit of it and I have you book-marked to check out new things on your blog.

  46. bwinkasino.com

    Can I simply just say what a comfort to discover somebody who actually knows what they’re discussing online. You actually know how to bring a problem to light and make it important. More and more people must read this and understand this side of your story. I can’t believe you aren’t more popular since you definitely possess the gift.

  47. situs online bwinbet365

    Howdy! This post could not be written much better! Going through this article reminds me of my previous roommate! He always kept talking about this. I’ll send this information to him. Pretty sure he’ll have a good read. Thanks for sharing!

  48. s128apk

    Your style is really unique compared to other folks I’ve read stuff from. I appreciate you for posting when you have the opportunity, Guess I will just book mark this site.

  49. s128 download

    I blog frequently and I truly appreciate your information. Your article has really peaked my interest. I am going to bookmark your site and keep checking for new details about once per week. I opted in for your RSS feed as well.

  50. s128 asia

    You are so cool! I don’t suppose I have read through anything like that before. So nice to find somebody with a few unique thoughts on this subject matter. Really.. thanks for starting this up. This web site is something that is required on the internet, someone with some originality!

  51. s128

    I blog frequently and I truly thank you for your content. Your article has truly peaked my interest. I’m going to take a note of your blog and keep checking for new information about once per week. I opted in for your Feed as well.

  52. king s128 sabung ayam

    Howdy, I believe your website may be having web browser compatibility issues. Whenever I look at your blog in Safari, it looks fine however when opening in I.E., it has some overlapping issues. I merely wanted to provide you with a quick heads up! Apart from that, fantastic site!

  53. BandarQ

    I’m amazed, I have to admit. Rarely do I encounter a blog that’s both equally educative and engaging, and without a doubt, you’ve hit the nail on the head. The issue is an issue that not enough men and women are speaking intelligently about. I am very happy that I came across this in my search for something relating to this.

  54. Piala Eropa 2020

    Hello there! I could have sworn I’ve visited your blog before but after looking at a few of the posts I realized it’s new to me. Nonetheless, I’m certainly pleased I found it and I’ll be bookmarking it and checking back frequently!

  55. Sbobet365

    Aw, this was a really nice post. Spending some time and actual effort to generate a good article… but what can I say… I hesitate a whole lot and never seem to get nearly anything done.

  56. Agen Sbobet88 Online

    When I initially left a comment I seem to have clicked the -Notify me when new comments are added- checkbox and now each time a comment is added I recieve 4 emails with the same comment. There has to be an easy method you can remove me from that service? Thanks a lot!

  57. sbobet777 Slot

    I’m very pleased to discover this web site. I need to to thank you for ones time just for this fantastic read!! I definitely enjoyed every part of it and i also have you book-marked to see new information on your website.

  58. s128

    Nice post. I learn something totally new and challenging on sites I stumbleupon on a daily basis. It’s always interesting to read through articles from other authors and practice a little something from other websites.

  59. Bet88 Mobile

    Good post. I learn something totally new and challenging on blogs I stumbleupon on a daily basis. It will always be exciting to read content from other writers and practice a little something from their web sites.

  60. s128

    You are so cool! I don’t suppose I’ve truly read through something like this before. So nice to discover someone with genuine thoughts on this topic. Seriously.. many thanks for starting this up. This site is something that is required on the internet, someone with a bit of originality!

  61. s128h com

    Having read this I believed it was rather enlightening. I appreciate you taking the time and energy to put this short article together. I once again find myself spending a lot of time both reading and posting comments. But so what, it was still worthwhile!

  62. Situs Bandarq

    Next time I read a blog, I hope that it doesn’t disappoint me just as much as this one. I mean, Yes, it was my choice to read through, but I actually thought you would have something interesting to say. All I hear is a bunch of moaning about something that you can fix if you weren’t too busy looking for attention.

  63. Judi Poker Online

    You’re so awesome! I do not believe I have read through something like this before. So nice to find someone with a few unique thoughts on this issue. Seriously.. thank you for starting this up. This website is one thing that is needed on the web, someone with a little originality!

  64. Situs Judi Online

    Hi there! This post could not be written any better! Looking at this article reminds me of my previous roommate! He continually kept talking about this. I am going to forward this article to him. Pretty sure he will have a good read. I appreciate you for sharing!

  65. Judi Slot Online

    Hi there! I could have sworn I’ve visited this blog before but after looking at a few of the posts I realized it’s new to me. Anyhow, I’m definitely happy I stumbled upon it and I’ll be book-marking it and checking back frequently!

  66. situs judi bola

    Hi there, I do think your site might be having internet browser compatibility problems. Whenever I look at your website in Safari, it looks fine however when opening in I.E., it’s got some overlapping issues. I merely wanted to provide you with a quick heads up! Other than that, wonderful site!

  67. s128

    Hello, I do think your site might be having web browser compatibility problems. When I take a look at your web site in Safari, it looks fine however when opening in Internet Explorer, it has some overlapping issues. I just wanted to give you a quick heads up! Aside from that, excellent blog!

  68. senang domino

    I blog frequently and I truly thank you for your information. The article has truly peaked my interest. I am going to book mark your website and keep checking for new information about once a week. I subscribed to your Feed too.

  69. login totobet

    I blog often and I really appreciate your information. Your article has truly peaked my interest. I’m going to book mark your site and keep checking for new information about once per week. I subscribed to your Feed as well.

  70. alternatif login totobet

    When I originally left a comment I seem to have clicked the -Notify me when new comments are added- checkbox and from now on whenever a comment is added I get 4 emails with the exact same comment. There has to be an easy method you are able to remove me from that service? Kudos!

  71. slot deposit pulsa

    I blog often and I truly thank you for your content. This article has truly peaked my interest. I’m going to take a note of your site and keep checking for new information about once a week. I subscribed to your Feed too.

  72. agen bola terpercaya

    The very next time I read a blog, I hope that it won’t disappoint me as much as this particular one. After all, I know it was my choice to read through, however I truly thought you would probably have something helpful to say. All I hear is a bunch of whining about something that you could fix if you were not too busy searching for attention.

  73. Situs Download Pkv

    I have to thank you for the efforts you have put in writing this website. I’m hoping to view the same high-grade blog posts by you in the future as well. In fact, your creative writing abilities has motivated me to get my own, personal site now 😉

  74. poker online

    This is the perfect blog for anybody who really wants to understand this topic. You realize a whole lot its almost hard to argue with you (not that I really would want to…HaHa). You definitely put a brand new spin on a subject that’s been discussed for years. Wonderful stuff, just excellent!

  75. Judi Bandarq

    Hi there! This article couldn’t be written much better! Looking at this article reminds me of my previous roommate! He constantly kept talking about this. I’ll send this post to him. Fairly certain he’ll have a great read. Many thanks for sharing!

  76. 21naga

    I was pretty pleased to uncover this page. I need to to thank you for your time just for this wonderful read!! I definitely loved every bit of it and i also have you book-marked to look at new stuff on your web site.

  77. rezgamer

    Hello, I do believe your site might be having internet browser compatibility problems. Whenever I take a look at your blog in Safari, it looks fine however, if opening in Internet Explorer, it’s got some overlapping issues. I merely wanted to give you a quick heads up! Aside from that, great website!

  78. https://webdewaqq.com/

    Hi there, I do think your site could be having browser compatibility problems. Whenever I look at your site in Safari, it looks fine but when opening in Internet Explorer, it has some overlapping issues. I just wanted to provide you with a quick heads up! Aside from that, wonderful blog!

  79. elevenconsignment

    I blog often and I truly appreciate your content. The article has really peaked my interest. I’m going to take a note of your site and keep checking for new details about once a week. I subscribed to your RSS feed as well.

  80. sosbobet.cc

    Hello there! I could have sworn I’ve been to this website before but after browsing through some of the articles I realized it’s new to me. Nonetheless, I’m certainly pleased I came across it and I’ll be bookmarking it and checking back regularly!

  81. https://rezgamer.com/

    Oh my goodness! Incredible article dude! Thanks, However I am having difficulties with your RSS. I don’t understand the reason why I can’t join it. Is there anyone else getting similar RSS issues? Anyone who knows the answer will you kindly respond? Thanx!!

  82. http://www.kamera4d.org/

    May I simply say what a relief to discover an individual who actually knows what they are discussing on the internet. You definitely know how to bring an issue to light and make it important. More and more people need to read this and understand this side of the story. I was surprised you are not more popular because you surely have the gift.

  83. s12888

    Hey there! I simply want to offer you a huge thumbs up for your excellent information you have got right here on this post. I’ll be returning to your blog for more soon.

  84. susupoker

    I’m more than happy to discover this web site. I want to to thank you for your time for this fantastic read!! I definitely loved every bit of it and I have you book-marked to look at new information on your blog.

  85. Judi Bola Joinpoker.com

    Oh my goodness! Amazing article dude! Thank you so much, However I am going through difficulties with your RSS. I don’t know why I cannot subscribe to it. Is there anybody getting the same RSS issues? Anyone that knows the answer can you kindly respond? Thanx!!

  86. mystargarden.com

    Hi! I could have sworn I’ve been to your blog before but after going through a few of the posts I realized it’s new to me. Regardless, I’m certainly delighted I discovered it and I’ll be bookmarking it and checking back often!

  87. QQ77Bet

    Hi there! I could have sworn I’ve visited this blog before but after looking at some of the posts I realized it’s new to me. Anyways, I’m certainly delighted I stumbled upon it and I’ll be bookmarking it and checking back regularly!

  88. dingdong togel online

    This is the perfect web site for everyone who hopes to find out about this topic. You understand a whole lot its almost hard to argue with you (not that I really will need to…HaHa). You certainly put a new spin on a topic that’s been written about for ages. Great stuff, just wonderful!

  89. s128.net

    Can I just say what a relief to uncover somebody who genuinely knows what they are discussing on the internet. You definitely understand how to bring an issue to light and make it important. More and more people have to read this and understand this side of your story. I was surprised that you’re not more popular since you most certainly have the gift.

  90. joker 123

    Good post. I learn something totally new and challenging on sites I stumbleupon on a daily basis. It’s always interesting to read through articles from other authors and practice a little something from other web sites.

  91. skyscanner.net

    you’re truly a just right webmaster. The website loading speed
    is amazing. It kind of feels that you are doing
    any unique trick. Also, The contents are masterwork.
    you have performed a wonderful activity on this matter!

  92. sbobet 88

    When I originally left a comment I appear to have clicked on the -Notify me when new comments are added- checkbox and from now on every time a comment is added I receive four emails with the same comment. Perhaps there is a way you can remove me from that service? Thanks!

  93. slot Online

    Oh my goodness! Incredible article dude! Thank you, However I am experiencing issues with your RSS. I don’t know why I am unable to join it. Is there anybody else having identical RSS issues? Anyone who knows the solution will you kindly respond? Thanx!!

  94. judi online

    An outstanding share! I have just forwarded this onto a co-worker who had been doing a little homework on this. And he actually ordered me dinner because I discovered it for him… lol. So allow me to reword this…. Thanks for the meal!! But yeah, thanks for spending the time to talk about this matter here on your site.

  95. pragmatic play

    I’m impressed, I must say. Seldom do I come across a blog that’s equally educative and amusing, and let me tell you, you’ve hit the nail on the head. The problem is something that too few people are speaking intelligently about. Now i’m very happy that I stumbled across this in my search for something relating to this.

  96. idn poker88

    Having read this I believed it was really informative. I appreciate you finding the time and effort to put this content together. I once again find myself personally spending a lot of time both reading and commenting. But so what, it was still worthwhile!

  97. Kertas puyer

    You’re so interesting! I do not suppose I’ve truly read through a single thing like that before. So great to find someone with unique thoughts on this subject matter. Seriously.. many thanks for starting this up. This website is one thing that’s needed on the internet, someone with a little originality!

  98. jokerslot

    I’m amazed, I must say. Seldom do I come across a blog that’s equally educative and amusing, and without a doubt, you have hit the nail on the head. The issue is an issue that too few folks are speaking intelligently about. Now i’m very happy I stumbled across this in my search for something concerning this.

  99. joker123

    Having read this I thought it was rather informative. I appreciate you taking the time and effort to put this informative article together. I once again find myself spending way too much time both reading and leaving comments. But so what, it was still worthwhile!

  100. joker123 online

    Nice post. I learn something totally new and challenging on websites I stumbleupon on a daily basis. It will always be useful to read content from other writers and practice a little something from their sites.

  101. this article

    An excellent share, I just given this onto a coworker who was doing a little evaluation on this. And also he as a matter of fact acquired me morning meal since I found it for him. smile. So let me reword that: Thnx for the reward! However yeah Thnkx for spending the time to discuss this, I really feel strongly about it and also love finding out more on this subject. If possible, as you become competence, would certainly you mind upgrading your blog with even more details? It is extremely useful for me. Huge thumb up for this blog post!

  102. Ebola88

    This is the right website for everyone who would like to find out about this topic. You know so much its almost hard to argue with you (not that I personally would want to…HaHa). You certainly put a fresh spin on a topic that has been written about for a long time. Great stuff, just wonderful!

  103. Canon Drivers

    Hi, I do believe this is a great blog. I stumbledupon it 😉 I will come back once again since I book marked it. Money and freedom is the greatest way to change, may you be rich and continue to help other people.

  104. kunjungi website ini

    Good day! I could have sworn I’ve visited this site before but after browsing through some of the articles I realized it’s new to me. Regardless, I’m definitely happy I came across it and I’ll be bookmarking it and checking back regularly!

  105. Lemari Pajangan

    I’m excited to uncover this great site. I want to to thank you for your time just for this fantastic read!! I definitely enjoyed every little bit of it and I have you book marked to see new stuff in your site.

  106. sahabatqq.mobi

    I absolutely love your site.. Pleasant colors & theme. Did you create this amazing site yourself? Please reply back as I’m wanting to create my own site and would love to know where you got this from or just what the theme is called. Cheers!

  107. Pokerpelangi

    Hi there, I believe your web site could possibly be having internet browser compatibility problems. When I take a look at your blog in Safari, it looks fine but when opening in Internet Explorer, it’s got some overlapping issues. I merely wanted to give you a quick heads up! Apart from that, fantastic website!

  108. levidio.musafirdigital.com

    Howdy, I do believe your web site might be having web browser compatibility problems. Whenever I take a look at your site in Safari, it looks fine however, if opening in IE, it’s got some overlapping issues. I merely wanted to give you a quick heads up! Other than that, excellent blog!

  109. dominoqqmu.com

    I’d like to thank you for the efforts you’ve put in penning this site. I really hope to check out the same high-grade blog posts by you in the future as well. In truth, your creative writing abilities has inspired me to get my very own website now 😉

  110. apk joker123

    Aw, this was an incredibly good post. Taking a few minutes and actual effort to create a superb article… but what can I say… I procrastinate a whole lot and don’t manage to get anything done.

  111. install joker123 apk

    I have to thank you for the efforts you’ve put in penning this blog. I’m hoping to see the same high-grade content by you in the future as well. In truth, your creative writing abilities has inspired me to get my own site now 😉

  112. sbobet bola

    Hello there! I could have sworn I’ve visited this website before but after going through many of the posts I realized it’s new to me. Anyhow, I’m certainly pleased I discovered it and I’ll be bookmarking it and checking back frequently!

  113. Google

    Oh my goodness! Impressive article dude! Many thanks, However I am going through troubles with your RSS. I don’t know the reason why I am unable to subscribe to it. Is there anybody having identical RSS issues? Anyone who knows the solution can you kindly respond? Thanks!!

  114. https://hermes21.net/

    I was very pleased to uncover this web site. I want to to thank you for ones time due to this wonderful read!! I definitely really liked every part of it and i also have you saved as a favorite to look at new things in your website.

  115. Google

    Oh my goodness! Impressive article dude! Thank you, However I am experiencing troubles with your RSS. I don’t know why I can’t subscribe to it. Is there anyone else getting identical RSS issues? Anyone who knows the answer will you kindly respond? Thanx!!

  116. http://107.152.32.187/

    Hello there! I could have sworn I’ve visited this website before but after going through many of the articles I realized it’s new to me. Anyhow, I’m definitely delighted I found it and I’ll be book-marking it and checking back frequently!

  117. Stacy

    It’s appropriate time to make some plans for the long run and it is time to be happy. I have learn this submit and if I may just I desire to recommend you few attention-grabbing things or suggestions. Maybe you can write subsequent articles referring to this article. I wish to read even more issues about it!

  118. have a peek here

    There are certainly a great deal of information like that to take into consideration. That is a great point to raise. I supply the thoughts over as general motivation but clearly there are concerns like the one you bring up where the most important point will certainly be operating in straightforward good faith. I don?t recognize if best methods have emerged around points like that, yet I make sure that your work is clearly recognized as a fair game. Both boys as well as girls really feel the effect of just a moment?s satisfaction, for the rest of their lives.

댓글 남기기

이메일은 공개되지 않습니다.