青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

zhiye_wang

向星空仰望的越深,越發現自己的渺小

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  31 隨筆 :: 1 文章 :: 2 評論 :: 0 Trackbacks

#

在構造自己的類時,有可能會碰到兩個類之間的相互引用問題,例如:定義了類A類B,A中使用了B定義的類型,B中也使用了A定義的類型
例如:
類CGUICmd中調用了類CMainFrame。
類CMainFrame中調用了類CGUICmd。
//////////////////////////////////////////////////////////////////////////
/// GUICmd.h
 
#ifndef _GUI_CMD_H
#define _GUI_CMD_H
 
class CGUICmd
{
public:
CGUICmd(void);
~CGUICmd(void);
int Gui_GetMessage(HWND hWnd, SOCKET sService, int bBlocking, CMainFrame* pFrame);
 
public:
SOCKET sService;
};
//////////////////////////////////////////////////////////////////////////
/// main_frame.h
 
#ifndef _MAIN_FRAME_H
#define _MAIN_FRAME_H
 
class CMainFrame:public CXMLWnd
{
public:
CGUICmd m_cGuiCmd;
};
不能單純的再對方的源文件中互相包含頭文件。
較好的方式:
main_frame.h 中#include "GUICmd.h", 
CGUICmd.h 中加入一行:class CMainFrame;
CGUICmd.cpp 中#include "main_frame.h"
//////////////////////////////////////////////////////////////////////////
/// main_frame.h
 
#ifndef _MAIN_FRAME_H
#define _MAIN_FRAME_H
 
#pragma once
 
#include "GUICmd.h"    
//////////////////////////////////////////////////////////////////////////
/// GUICmd.cpp
 
#include "GUICmd.h"
#include "main_frame.h"
 
 
//////////////////////////////////////////////////////////////////////////
/// GUICmd.h
 
#ifndef _GUI_CMD_H
#define _GUI_CMD_H
 
class CMainFrame;
 
class CGUICmd
{
}
posted @ 2014-12-24 15:32 zhiye_wang 閱讀(464) | 評論 (0)編輯 收藏

二 創建策略并設置給指定用戶
1 打開“組策略管理”(在這里創建策略)
cmd下輸入GPMC.MSC 打開組策略管理
隨后在域上右鍵選擇“在這個域中創建GPO并在此處鏈接”,輸入名字“磁盤管理策略”,
右鍵”編輯“,設置"隱藏磁盤分區(1)"中添加的策略“僅僅禁用F盤“。
右鍵“磁盤管理策略”,勾選強制,勾選已啟用鏈接。
2 關聯此GPO
默認情況下,GPO 影響鏈接的站點、域或 OU 中包含的所有用戶和計算機。
不過,您可以在 GPO 上使用安全篩選以修改其效果:通過修改 GPO 權限僅將其應用于特定用戶、Active Directory 安全組成員或計算機。通過將安全篩選和 OU 中的相應位置相結合,您可以將任何一組給定的用戶或計算機作為目標。
要將 GPO 應用于給定用戶、安全組或計算機,該用戶、組或計算機必須具有 GPO 的“讀取”和“應用組策略”權限。默認情況下,“經過身份驗證的用戶”將“讀取”和“應用組策略”權限設置為“允許”。這兩個權限是作為一個單位使用 GPMC 中的安全篩選進行管理的。
若要設置給定 GPO 的權限,以便僅將 GPO 應用于特定用戶、安全組或計算機(而不是應用于所有經過身份驗證的用戶),請在 GPMC 控制臺樹中包含該 GPO 的林和域中展開“組策略對象”。單擊該 GPO,然后在細節窗格的“作用域”選項卡上的“安全篩選”下面,刪除“經過身份驗證的用戶”,單擊“添加”,然后添加新的用戶、組或計算機。
在”磁盤管理策略“的右側窗口中,“安全篩選”下,添加需要生效的域用戶。
3 刷新GPO
默認的GPO設置不會自動刷新,只會在以下情況
系統啟動時
用戶登錄時
間隔最長90分鐘就刷新一次,原則上是隨機的小于90分鐘的時間啟動一次。
手動刷新GPO設置:GPUPDATE.EXE
4 登錄查看
用域用戶zhiye.wang登錄,查看,F盤已經看不到。
用域用戶ming.xiao登錄,查看,F盤依舊可以看到。
posted @ 2014-12-23 18:00 zhiye_wang 閱讀(594) | 評論 (0)編輯 收藏

調用API函數NetShareAdd()將文件夾設置為共享,調用此函數后如果不做其他設置,網絡用戶是無法訪問共享文件夾的,因為此文件夾在NTFS分區中,同時受到NTFS文件系統的訪問控制,因此還需要第2步;
調用DOS命令cacls,賦予Guest用戶組讀寫權限;
如果要取消文件共享,直接調用API函數NetShareDel()

對于FAT32分區中文件夾,cacls命令是不起作用的,這個命令專用于NTFS格式下的文件和文件夾。也就是說上面這種解決方法的第步不能用了,那么現在只能使用NetShareAdd()函數添加文件共享。調用此函數后如果不做其他設置,網絡用戶可以訪問共享文件夾,但擁有完全控制權限(這是默認的共享權限設置),而在實際項目中我們希望能夠編程控制讀寫權限。在NTFS分區中,我們還有NTFS文件系統的訪問控制功能罩著,在FAT32分區中就只能依賴于操作系統文件夾共享自身的權限設置功能了。
 1NET_API_STATUS NetShareAdd(
 2_In_   LPWSTR servername,
 3_In_   DWORD level,
 4_In_   LPBYTE buf,
 5_Out_  LPDWORD parm_err
 6);
 7typedef struct _SHARE_INFO_2 {
 8LPWSTR shi2_netname;
 9DWORD  shi2_type;
10LPWSTR shi2_remark;
11DWORD  shi2_permissions;
12DWORD  shi2_max_uses;
13DWORD  shi2_current_uses;
14LPWSTR shi2_path;
15LPWSTR shi2_passwd;
16}
 SHARE_INFO_2, *PSHARE_INFO_2, *LPSHARE_INFO_2;

addShare.cpp

 1// 說明:
 2// FAT 系統調用此函數,shi502_permissions參數無效。有且僅有共享權限為最高權限。
 3// NTFS 系統調用此函數,請修改shi502_permissions參數,可使用如下權限:
 4// ACCESS_READ, ACCESS_WRITE, ACCESS_CREATE, ACCESS_EXEC
 5// ACCESS_DELETE, ACCESS_ATRIB, ACCESS_PERM, ACCESS_ALL
 6BOOL addShare(LPTSTR lpShareName, LPTSTR lpShareDir)
 7{
 8NET_API_STATUS res;
 9SHARE_INFO_502 p;
10 
11p.shi502_netname = lpShareName; //共享名
12p.shi502_type = STYPE_DISKTREE; 
13p.shi502_remark = NULL;
14p.shi502_permissions = ACCESS_ALL;
15p.shi502_max_uses = SHI_USES_UNLIMITED; //最大鏈接數
16p.shi502_current_uses = 0;
17p.shi502_path = lpShareDir; //需要共享的路徑
18p.shi502_passwd = NULL;
19p.shi502_reserved = 0;
20p.shi502_security_descriptor = NULL;
21 
22res = NetShareAdd(NULL, 502, (LPBYTE)&p, NULL);
23 
24if (NERR_Success == res)
25{
26printf("Share created.\n");
27}

28else
29{
30printf("NetShareAdd error: %u\n", res);
31}

32return (res==NERR_Success);
33}

34

delShare.cpp
 
 1BOOL delShare(LPTSTR lpShareName)
 2{
 3    NET_API_STATUS res;
 4    //TCHAR szShareName[256] = "TestShare";
 5    //TCHAR szShreDir[256] = "F:\\Media";
 6    res = NetShareDel(NULL, (LMSTR)lpShareName, 0);
 7    if (NERR_Success == res)
 8    {
 9        printf("NetShareDel ok.\n");
10    }

11    else
12    {
13        printf("NetShareDel error: %u\n", res);
14        if (ERROR_ACCESS_DENIED == res)
15        {
16            printf("The user does not have access to the requested information.\n");
17        }

18        if (NERR_NetNameNotFound == res)
19        {
20            printf("The share name does not exist.\n");
21        }

22    }

23    return (res==NERR_Success);
24}

posted @ 2014-12-23 17:53 zhiye_wang 閱讀(295) | 評論 (0)編輯 收藏

     摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1/**//*  2 * ===============================================================...  閱讀全文
posted @ 2014-12-23 17:47 zhiye_wang 閱讀(496) | 評論 (0)編輯 收藏

20141129

根據微軟http://support.microsoft.com/kb/231289 這篇文章沒有辦法解決Windows server 2008下隱藏指定盤符的問題
這兩天搜索一些資料的總結,現在終于解決了這個問題.詳細步驟如下

一 首先創建(針對域用戶的)組策略需要的數據

1.首先在C:\Windows\SYSVOL\sysvol\xxx.com\Policies文件夾下,創建文件夾PolicyDefinitions.
2.將%systemroot%\PolicyDefinitions\下所有文件(這個目錄的文件是針對本地用戶的)復制到
C:\Windows\SYSVOL\sysvol\xxx.com\Policies\PolicyDefinitions下.
3.修改C:\Windows\SYSVOL\sysvol\xxx.com\Policies\PolicyDefinitions\WindowsExplorer.admx
這個文件來達到在Windows server 2008中隱藏指定盤符的功能.
4.在WindowsExplorer.admx文件中查找字段NoDrives,添加相應的字符串可以設置隱藏指定的磁盤驅動器;查找字段NoViewOnDrive,并修改相應的字段,可以設置拒絕從Windows資源管理器訪問某個磁盤驅動器.

下面以設置隱藏指定的磁盤驅動器為例:(下列黑體字我測試時設置的"只顯示Z,其他盤符不顯示

以下是微軟幫助中的解釋:

這項策略在客戶端計算機上只顯示指定的驅動器。這項策略所影響的注冊表項使用與 26 位二進制字符串(每一位代表一個驅動器號)相對應的十進制數字:

00000000000111100000000000
ZYXWVUTSRQPONMLKJIHGFEDCBA


此配置對應于十進制數字 67108863,它會隱藏所有的驅動器。如果您要隱藏驅動器 C,將第三低位設置為 1,然后將二進制字符串轉換為十進制數字。

沒有必要創建一個顯示所有驅動器的選項,因為清除復選框就完全刪除了“NoDrives”項,所有驅動器都會自動顯示。

如果您要配置這項策略以顯示一個不同的驅動器組合,請創建相應的二進制字符串,將它轉換成十進制數字,并向 ITEMLIST 部分添加一個帶有相應的 [strings] 項的新項。例如,要隱藏驅動器 L、M、N 和 O,請創建下面的字符串

100000000000111100000000000
2ZYXWVUTSRQPONMLKJIHGFEDCBA


并將其轉換成十進制。這個二進制字符串可轉換成十進制數字 30720

這篇文章中的信息適用于:
Microsoft Windows Server 2003 Standard Edition
Microsoft Windows Server 2003 Enterprise Edition
Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)
Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)
Microsoft Windows 2000 Datacenter Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Professional Edition
Microsoft Windows 2000 Server
關鍵字:
kbenv kbinfo KB231289

5.之后修改C:\Windows\SYSVOL\sysvol\xxx.com\Policies\PolicyDefinitions\zh-CN\WindowsExplorer.adml(適用于中文Windows server 2008).

如果你使用的是英文版需要修改:C:\Windows\SYSVOL\sysvol\xxx.com\Policies\PolicyDefinitions\en-US\WindowsExplorer.adml

添加如下字符串.(黑體字)
不限制z驅動器,其余驅動器全部限制

注意:string id要跟WindowsExplorer.admx設置相同.

6.現在在組策略中就可以看到這個設置了.

”本地組策略編輯器“->“用戶配置”→“管理模板”→Windows組件→“Windows 資源管理器”,在右側的窗格里雙擊“隱藏我的電腦中這些指定驅動器”項,

20141201

2.通過注冊表隱藏硬盤分區
關鍵值是:NoDrives
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\新建鍵值NoDrives,

posted @ 2014-12-23 17:43 zhiye_wang 閱讀(573) | 評論 (0)編輯 收藏

 1 #include "stdafx.h"
 2 #include "iostream"
 3 #include "assert.h"
 4 
 5 using namespace std;
 6 
 7 int mystrcmp(const char* dest, const char* src)
 8 {
 9     assert (dest!=NULL && src!=NULL);
10     while (*dest++ == *src++)
11     {
12         if (*dest=='\0' || *src=='\0')
13             break;    
14     }
15     return *dest > *src ? 1 : (*dest==*src ? 0 : -1);
16 }
17 
18 int main(int argc, char* argv[])
19 {
20     printf("Hello World!\n");
21     cout << mystrcmp("abc", "abcd");
22     cout << endl;
23     return 0;
24 }
輸出:
Hello World!
-1
Press any key to continue
posted @ 2014-06-12 10:12 zhiye_wang 閱讀(237) | 評論 (0)編輯 收藏

 1 #include "stdafx.h"
 2 #include "iostream"
 3 #include "assert.h"
 4 #include "string"
 5 
 6 using namespace std;
 7 
 8 char* mystrcat(char* dest, const char* src)
 9 {
10     assert(dest!=NULL && src!=NULL);
11     char* p = dest;
12     while (*p!='\0') 
13         p++;
14     while (*p++ = *src++);
15     *p = '\0';
16     return dest;
17 }
18 
19 int main(int argc, char* argv[])
20 {
21     printf("Hello World!\n");
22     char buf[10] = "FU ";
23     char test[4] = "CK!";
24     mystrcat(buf, test);
25     cout << buf << endl;
26     return 0;
27 }
輸出:
Hello World!
FU CK!
Press any key to continue
posted @ 2014-06-12 09:59 zhiye_wang 閱讀(215) | 評論 (0)編輯 收藏

 1 #include "stdafx.h"
 2 #include "iostream"
 3 
 4 using namespace std;
 5 
 6 int isechol (const char* str)
 7 {
 8     int length = strlen(str);
 9     for (int i=0; i<length/2; i++)
10     {
11         // 0代表不是,1代表是
12         if (str[i] != str[length-i-1])
13         {    
14             return 0;
15         }
16     }
17     return 1;
18 }
19 
20 int main(int argc, char* argv[])
21 {
22     printf("Hello World!\n");
23     char buf[10] = "abcddcba";
24     if (isechol(buf))
25         cout << buf << " is echol" << endl;
26     else
27         cout << buf << " is not echol" << endl;
28     return 0;
29 }
輸出:
Hello World!
abcddcba is echol
Press any key to continue
posted @ 2014-06-12 09:50 zhiye_wang 閱讀(467) | 評論 (2)編輯 收藏

 1 #include "stdafx.h"
 2 #include "iostream"
 3 #include "assert.h"
 4 
 5 using namespace std;
 6 
 7 char* mystrncpy(char* dest, const char* src, int n)
 8 {
 9     assert(dest!=NULL && src!=NULL);
10     int count = 0;
11     while (*src != '\0')
12     {
13         if (count >= n)
14         {
15             break;
16         }
17         dest[count++] = *src++;
18     }
19     dest[count] = '\0';
20     return dest;
21 }
22 
23 int main(int argc, char* argv[])
24 {
25     printf("Hello World!\n");
26     char buf[10] = {0};
27     mystrncpy(buf, "FUCK!", 4);
28     cout << buf << endl;
29     return 0;
30 }

輸出:
Hello World!
FUCK!
Press any key to continue
posted @ 2014-06-12 09:30 zhiye_wang 閱讀(549) | 評論 (0)編輯 收藏

 1 #include "stdafx.h"
 2 #include "iostream"
 3 #include "assert.h"
 4 
 5 using namespace std;
 6 
 7 char* mystrcpy(char* dest, const char* src); // 1 const
 8 
 9 
10 int main(int argc, char* argv[])
11 {
12     printf("Hello World!\n");
13     char buf[10] = {0};
14     mystrcpy(buf, "FUCK!");
15     cout << buf << endl;
16     return 0;
17 }
18 
19 char* mystrcpy(char* dest, const char* src)
20 {
21     assert(dest!=NULL && src!=NULL);   // 2 assert
22     char* p = dest;
23     while (*p++ = *src++);
24     *p = '\0';                                    // 3 字符串結束
25     return dest;
26 }

輸出:
Hello World!
FUCK!
Press any key to continue
posted @ 2014-06-12 09:11 zhiye_wang 閱讀(205) | 評論 (0)編輯 收藏

僅列出標題
共4頁: 1 2 3 4 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲黄网站在线观看| 麻豆精品精品国产自在97香蕉| 亚洲欧美日韩国产成人| 亚洲天堂黄色| 中文国产亚洲喷潮| 亚洲专区免费| 欧美专区日韩视频| 久久视频在线免费观看| 嫩草成人www欧美| 亚洲国内自拍| 亚洲精品久久嫩草网站秘色| 国产精品一区二区在线| 国产一级精品aaaaa看| 黑人一区二区| 亚洲国产精品久久久久婷婷老年 | 亚洲在线视频一区| 午夜国产不卡在线观看视频| 欧美一区二区视频免费观看| 久久久久久一区二区三区| 欧美激情在线免费观看| 国产精品免费在线| 亚洲盗摄视频| 亚洲欧美不卡| 免费看黄裸体一级大秀欧美| 91久久国产综合久久91精品网站| 亚洲国产精品一区制服丝袜| 亚洲性视频h| 毛片av中文字幕一区二区| 欧美日韩精品在线| 国内精品久久久久影院色| 亚洲精品日韩在线| 欧美专区在线观看| 亚洲国产欧美一区二区三区丁香婷| 一区二区三区视频在线| 久久亚洲高清| 国产女人精品视频| 99国内精品| 老司机一区二区三区| 亚洲视频电影在线| 欧美高清视频| 免费成人高清视频| 午夜精品一区二区三区四区 | 国产欧美高清| 一本久久精品一区二区| 久久久水蜜桃| 亚洲欧美日韩国产另类专区| 欧美性大战久久久久久久| 亚洲激情综合| 免费欧美电影| 久久av二区| 国产毛片精品视频| 亚洲宅男天堂在线观看无病毒| 亚洲国产成人av好男人在线观看| 午夜视频精品| 国产精品视频久久久| 亚洲午夜免费视频| 99精品热6080yy久久| 欧美日韩在线视频一区二区| 久久精品一区蜜桃臀影院| 国产麻豆精品在线观看| 香蕉久久夜色精品| 亚洲一区在线免费观看| 国产精品久久久久久久电影| 亚洲欧美综合精品久久成人| 在线视频精品| 国产精品亚洲综合久久| 久久www成人_看片免费不卡| 欧美一级专区| 亚洲电影天堂av| 欧美国产日韩一区二区| 欧美激情自拍| 亚洲欧美精品在线| 小黄鸭精品密入口导航| 狠狠色狠狠色综合日日91app| 久久国产日韩欧美| 欧美一区亚洲| 狠狠久久综合婷婷不卡| 久久亚洲综合网| 久久精品国产亚洲精品| 国产一区 二区 三区一级| 激情欧美日韩一区| 欧美/亚洲一区| 欧美日韩精品免费观看视频完整| 亚洲级视频在线观看免费1级| 亚洲精品国偷自产在线99热| 欧美国产第二页| 亚洲女同性videos| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美在线综合视频| 国产自产在线视频一区| 久久久久久久综合日本| 亚洲中无吗在线| 黄色精品免费| 美女黄网久久| 欧美日韩亚洲一区三区 | 91久久综合亚洲鲁鲁五月天| 亚洲欧洲三级| 欧美日韩日本国产亚洲在线| 欧美一级片一区| 先锋影院在线亚洲| 一区二区毛片| 亚洲一区二区影院| 亚洲精品老司机| 亚洲蜜桃精久久久久久久| 国产一区二区高清视频| 欧美va亚洲va香蕉在线| 国产精品国产三级国产普通话三级 | 在线中文字幕一区| 在线播放日韩专区| 亚洲国产91色在线| 另类专区欧美制服同性| 99精品欧美一区二区蜜桃免费| 国产欧美一区二区白浆黑人| 欧美电影免费观看网站| 欧美精品在线一区二区| 久久青草久久| 欧美国产日韩二区| 欧美一级播放| 麻豆精品网站| 久久综合伊人77777| 欧美另类视频| 欧美成人精精品一区二区频| 欧美日韩高清在线观看| 欧美aⅴ一区二区三区视频| 欧美精品一区二区久久婷婷| 久热re这里精品视频在线6| 欧美日韩国产综合一区二区| 欧美福利精品| 国产视频一区二区在线观看| 99精品热视频| 亚洲人成人99网站| 女人香蕉久久**毛片精品| 午夜在线电影亚洲一区| 国产精品一卡二| 亚洲精品综合久久中文字幕| 亚洲经典三级| 久久久久久久久综合| 蜜桃av噜噜一区| 国产精品一区二区三区观看| 亚洲天堂成人| 99精品国产一区二区青青牛奶| 亚洲欧美中文另类| 久久久久国产精品麻豆ai换脸| 亚洲神马久久| 久久免费高清| 欧美成人四级电影| 国产日韩欧美二区| 欧美亚洲日本网站| 亚洲女人天堂成人av在线| 国产精品日日摸夜夜摸av| 99在线观看免费视频精品观看| 中国成人在线视频| 欧美电影在线观看完整版| 亚洲精品久久久久中文字幕欢迎你| 在线观看精品视频| 久久久久久久999精品视频| 欧美亚洲尤物久久| 国产精品亚洲欧美| 亚洲欧美日本国产有色| 亚洲欧美日韩中文在线制服| 国产一区成人| 久久精品在线播放| 亚洲精品视频一区| 亚洲色诱最新| 狠狠久久亚洲欧美| 亚洲综合国产| 可以看av的网站久久看| 日韩视频免费看| 欧美日韩亚洲成人| 欧美专区日韩视频| 欧美xx69| 欧美一区二区观看视频| 国产午夜一区二区三区| 久久精品一区| 亚洲国产导航| 夜夜嗨av一区二区三区四季av| 久久国产精品色婷婷| 美乳少妇欧美精品| 一区二区国产在线观看| 国产精品久久看| 美女性感视频久久久| 亚洲高清视频在线观看| 亚洲一区制服诱惑| 欧美精品一区二| 久久久久久久网| 亚洲理论在线| 国产一级一区二区| 欧美三区美女| 久久久www| 亚洲免费在线播放| 欧美成人免费小视频| 久久国产99| 亚洲每日在线| 在线播放国产一区中文字幕剧情欧美| 亚洲欧美日本国产专区一区| 亚洲精品免费在线| 激情婷婷亚洲| 国产一二三精品| 国产一区二区0| 欧美电影免费观看网站|